Documentation

LeanPool.NFWeakPartition.SemanticCore.Basic

NF weak partition development: SemanticCore.Basic.

This is a nominal semantic front end for replaying the nf.mm proof. Metamath set variables are natural-number names. A class denotes a unary predicate on the carrier of an arbitrary membership-only first-order structure.

The object/class distinction is retained at atomic formulas. In particular, object equality and membership have their ordinary first-order meanings. Generic class equality and membership always use the standard extensional and representative semantics, including when both arguments happen to be set-variable classes. Transport from those generic atoms to primitive object atoms is therefore explicit and requires extensionality, just as df-cleq and df-clel require at the NF boundary.

@[reducible, inline]

Proof-translation construction identified upstream as Var.

Equations
Instances For

    The primitive class fragment needed before expanding defined symbols.

    Instances For
      Equations
      Instances For
        Equations
        Instances For

          The primitive nominal wff fragment used by the semantic replay.

          Instances For

            vars records every nominal variable name occurring in an expression, while fv removes names bound by all and cab. The compiler uses vars to validate Metamath $d substitutions and fv to discharge semantic freshness.

            Proof-translation construction identified upstream as Class.vars.

            Equations
            Instances For

              Proof-translation construction identified upstream as Class.fv.

              Equations
              Instances For
                theorem NFChoice.SemanticCore.Wff.not_mem_fv_of_not_mem_vars (p : Wff) {x : Var} (hx : x ∉ p.vars) :
                x ∉ p.fv
                def NFChoice.SemanticCore.update {α : Sort u_1} (v : Var → α) (x : Var) (a : α) :
                Var → α

                Update a named set-variable valuation.

                Equations
                Instances For
                  @[simp]
                  theorem NFChoice.SemanticCore.update_same {α : Sort u_1} (v : Var → α) (x : Var) (a : α) :
                  update v x a x = a
                  @[simp]
                  theorem NFChoice.SemanticCore.update_noteq {α : Sort u_1} (v : Var → α) {x y : Var} (h : y ≠ x) (a : α) :
                  update v x a y = v y
                  @[simp]
                  theorem NFChoice.SemanticCore.update_overwrite {α : Sort u_1} (v : Var → α) (x : Var) (a b : α) :
                  update (update v x a) x b = update v x b

                  The sole relation of an LNF structure, in source argument order.

                  Equations
                  Instances For

                    Kernel check of the relation argument order: bounded variables [a,b] in the front-end atom 0 e. 1 realize to the relation vector [a,b].

                    def NFChoice.SemanticCore.AgreesOn {α : Sort u_1} (s : Finset Var) (v v' : Var → α) :

                    Two named valuations agree on a finite support.

                    Equations
                    Instances For
                      theorem NFChoice.SemanticCore.Class.holds_congr_fv {S : Fol.Structure Foundation.LNF} (A : Class) (v v' : Var → S.carrier) (h : AgreesOn A.fv v v') (a : S.carrier) :
                      Holds S v A a ↔ Holds S v' A a

                      A class denotation depends only on the free variables of the class.

                      theorem NFChoice.SemanticCore.Wff.holds_congr_fv {S : Fol.Structure Foundation.LNF} (p : Wff) (v v' : Var → S.carrier) (h : AgreesOn p.fv v v') :
                      Holds S v p ↔ Holds S v' p

                      A wff's truth value depends only on its free variables.

                      theorem NFChoice.SemanticCore.Wff.holds_update_fresh {S : Fol.Structure Foundation.LNF} (p : Wff) (v : Var → S.carrier) {x : Var} (hx : x ∉ p.fv) (a : S.carrier) :
                      Holds S (update v x a) p ↔ Holds S v p

                      Updating a variable fresh for a wff cannot change its truth value.

                      A nominal wff is valid in a fixed structure.

                      Equations
                      Instances For

                        Negation in the primitive implication/falsity basis.

                        Equations
                        Instances For

                          Classical conjunction in the primitive implication/falsity basis.

                          Equations
                          Instances For

                            Classical disjunction in the primitive implication/falsity basis.

                            Equations
                            Instances For

                              Biconditional in the primitive implication/falsity basis.

                              Equations
                              Instances For

                                Existential quantification in the primitive implication/falsity basis.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem NFChoice.SemanticCore.Wff.holds_conj {S : Fol.Structure Foundation.LNF} {v : Var → S.carrier} {p q : Wff} :
                                  Holds S v (p.conj q) ↔ Holds S v p ∧ Holds S v q
                                  @[simp]
                                  theorem NFChoice.SemanticCore.Wff.holds_disj {S : Fol.Structure Foundation.LNF} {v : Var → S.carrier} {p q : Wff} :
                                  Holds S v (p.disj q) ↔ Holds S v p ∨ Holds S v q
                                  @[simp]
                                  theorem NFChoice.SemanticCore.Wff.holds_biimp {S : Fol.Structure Foundation.LNF} {v : Var → S.carrier} {p q : Wff} :
                                  Holds S v (p.biimp q) ↔ (Holds S v p ↔ Holds S v q)
                                  @[simp]
                                  theorem NFChoice.SemanticCore.Wff.holds_ex {S : Fol.Structure Foundation.LNF} {v : Var → S.carrier} {x : Var} {p : Wff} :
                                  Holds S v (ex x p) ↔ ∃ (a : S.carrier), Holds S (update v x a) p
                                  theorem NFChoice.SemanticCore.Wff.holds_mp {S : Fol.Structure Foundation.LNF} {v : Var → S.carrier} {p q : Wff} (hpq : Holds S v (p.imp q)) (hp : Holds S v p) :
                                  Holds S v q

                                  Semantic modus ponens for the replay checker.

                                  theorem NFChoice.SemanticCore.Wff.valid_mp {S : Fol.Structure Foundation.LNF} {p q : Wff} (hp : Valid S p) (hpq : Valid S (p.imp q)) :
                                  Valid S q

                                  Global semantic modus ponens, matching source rule ax-mp.

                                  The semantic form of propositional axiom ax-1.

                                  Global semantic form of source axiom ax-1.

                                  Generalization preserves validity, exactly matching source rule ax-gen.

                                  theorem NFChoice.SemanticCore.Wff.valid_ax17 {S : Fol.Structure Foundation.LNF} (p : Wff) (x : Var) (hx : x ∉ p.fv) :
                                  Valid S (p.imp (all x p))

                                  Semantic form of source axiom ax-17, using free-variable freshness.

                                  The source $d x ph condition is stronger than the freshness ax-17 needs.

                                  Extensionality of the sole membership relation of a structure.

                                  Equations
                                  Instances For

                                    A set a represents the class A under valuation v.

                                    Equations
                                    Instances For

                                      Uniform extensional equality of two class denotations.

                                      Equations
                                      Instances For

                                        Uniform representative semantics for membership between two classes.

                                        Equations
                                        Instances For

                                          Under extensionality, actual equality of set variables is extensional equality.

                                          Under extensionality, actual membership is representative class membership.

                                          Generic class equality is definitionally its uniform extensional reading.

                                          Generic class membership definitionally has representative semantics.

                                          Explicit df-cleq transport from primitive equality to generic equality.

                                          Explicit df-clel transport from primitive membership to generic membership.

                                          The following theorem pins the nominal extensionality assumption to the exact closed first-order sentence placed in HailperinNF by the foundation.

                                          Semantics of the three source definitions most sensitive to binding.

                                          The source definiens of F/ x ph.

                                          Equations
                                          Instances For
                                            theorem NFChoice.SemanticCore.df_nf_semantics {S : Fol.Structure Foundation.LNF} (v : Var → S.carrier) (x : Var) (p : Wff) :
                                            Wff.Holds S v (notFree x p) ↔ ∀ (a : S.carrier), Wff.Holds S (update v x a) p → ∀ (b : S.carrier), Wff.Holds S (update v x b) p

                                            Semantic unfolding of source definition df-nf.

                                            Semantic proper substitution of set variable y for free x.

                                            Equations
                                            Instances For

                                              The right-hand side of source definition df-sb.

                                              Equations
                                              Instances For

                                                Semantic soundness of the unrestricted proper-substitution definition df-sb.

                                                Semantic right-hand side of [ x / y ] ph.

                                                Equations
                                                Instances For

                                                  df-clab: membership of a set variable in an abstraction is proper substitution.