Theoretical Points from Michael's Lectures

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/15

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 3:21 PM on 5/21/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

16 Terms

1
New cards

Tactics: Properties of Equality

Reflexivity: t = t

Symmetry: If s = t, then t = s

Transitivity: If s = t and t = u, then s = u

Congruence: If s = t, then f(s) = f(t) (used by the f_equal tactic to strip outer functions from goal)

2
New cards

Tactics: Properties of Inductive Data - Disjointness

  • Different constructors can never be equal

  • Example: 0 ≠ S(n)

  • If assumption violates this, goal can be proven via Principle of Explosion; from contradiction you can prove anything (discriminate tactic)

3
New cards

Tactics: Properties of Inductive Data - Injectivity

  • Constructors are one-to-one

  • Example: S(n) = S(m) => n = m

  • Extracted using injection tactic

4
New cards

Tactics: Controlled Fibbing

  • assert/admit tactic temporarily introduces a hypothesis without immediate evidence

  • Forces you to follow through and prove later

5
New cards

Propositions vs. Booleans - The Universe Hierarchy

  • Set (data) used for defining data

  • Prop (logic) used for propositions (statements with a truth value)

  • Type used for parameters or universe levels

6
New cards

Are Booleans propositions or data?

  • bool are purely data (inhabiting Set)

  • To use Boolean logically, it must be promoted to a proposition

  • Example: _ = true

7
New cards

Can propositions be defined inductively?

  • Yes; they separate their pure logical definition from their algorithmic implementation

  • Makes them more flexible and powerful for complex proofs i.e. Reachability

8
New cards

What is Reachability?

Defining a safe system where bad states can’t be reached from start state

9
New cards

Why does Rocq enforce that all recursive functions (Fixpoint) terminate?

  • If non-terminating functions were allowed, you can create an infinite loop to try “prove” 1 = 2

  • Would never be able to check if proof is lying

  • Destroys logic system reliability

10
New cards

Why does Rocq have to approximate termination?

  • Halting Problem dictates that no program can universally decide if another program terminates

  • Does this by demanding that at least 1 argument is structurally decreasing in recursive calls

11
New cards

If an algorithm doesn’t structurally decrease, how can you prove termination?

  • By supplying a well-founded relation

  • Relation is well-founded if it has no infinitely decreasing chains of elements, proving that you’re always moving towards an end point

12
New cards

How do you make automated theorem proving decidable?

  • Restrict the language of premises and goals

  • E.g. to linear arithmetic, strings, or arrays

  • Problem becomes mathematically decidable

13
New cards

What are Equality and Uninterpreted Functions? (EUF)

  • A decidable fragment with no quantifiers, only equations where functions are treated as “just symbols”

14
New cards

What algorithm is predominantly used to solve EUF?

  • Congruence Closure (congruence tactic)

  • Assigns terms to congruence classes and merges them graphically to achieve:

    • reflexive

    • symmetric

    • transitive

    • and congruent closure

15
New cards

How does backward chaining work as a search heuristic for undecidable problems?

  • Engine starts at target goal/query

  • Works backward to find matching premises

  • (this is how auto tactic and Prolog work)

16
New cards

How does forward chaining work as a search heuristic for undecidable problems?

  • Engine starts from known premises

  • Derives more facts forward until it eventually reaches the goal