Documentation

LeanPool.NFWeakPartition.Flypitch4.Henkin

NF weak partition development: Flypitch4.Henkin.

Directed colimits of languages #

These are fieldwise (and then indexwise) colimits of types. For the Henkin construction, the directed type is always ℕ' (carrier = ℕ : Type 0), so we can use a single universe u for the language symbols.

A directed diagram of Languages at universe u indexed by ℕ

  • obj : ℕ → Language

    The obj component of the corresponding first-order structure.

  • mor {x y : ℕ} : x ≤ y → (self.obj x →ᴸ self.obj y)

    The mor component of the corresponding first-order structure.

  • h_mor {x y z : ℕ} {f1 : x ≤ y} {f2 : y ≤ z} {f3 : x ≤ z} : self.mor f3 = (self.mor f2).comp (self.mor f1)
Instances For

    Restrict to n-ary function family

    Equations
    Instances For

      Restrict to n-ary relation family

      Equations
      Instances For

        The colimit language

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Canonical map from stage i into the colimit language

          Equations
          Instances For

            A cocone over a directed diagram of languages

            Instances For

              The Henkin construction #

              Inductive type of function symbols for one Henkin step. inc embeds L-symbols; wit introduces witness constants.

              Instances For
                @[reducible]

                One Henkin step on languages

                Equations
                Instances For

                  Flypitch construction wit', retained by the first-order soundness and completeness development.

                  Equations
                  Instances For

                    Flypitch construction henkin_language_inclusion, retained by the first-order soundness and completeness development.

                    Equations
                    Instances For

                      wit_property and henkin_theory_step #

                      @[reducible]

                      The witnessing sentence: (∃ᵇf) → f[c/0]

                      Equations
                      Instances For

                        One Henkin step on theories

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          The Henkin extension of a consistent theory is consistent

                          Henkin language chain #

                          Transition maps of the Henkin language chain

                          Equations
                          Instances For
                            theorem NFChoice.Fol.henkin_language_chain_maps_functorial (L : Language) (x y z : ℕ) (f1 : x ≤ y) (f2 : y ≤ z) (f3 : x ≤ z) :

                            Functoriality of the Henkin language chain maps

                            @[reducible]

                            The Henkin language chain as a directed diagram of languages

                            Equations
                            Instances For

                              The limit language L_∞ #

                              @[reducible]

                              The colimit of the Henkin language chain

                              Equations
                              Instances For

                                Directed diagrams of terms and formulas #

                                @[reducible]

                                Chain of preterms at level l

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[reducible]

                                  Chain of preformulas at level l

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[reducible]

                                    Chain of bounded preterms at bound n, level l

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[reducible]

                                      Flypitch construction henkin_bounded_term_chain', retained by the first-order soundness and completeness development.

                                      Equations
                                      Instances For
                                        @[reducible]

                                        Chain of bounded preformulas at bound n, level l

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[reducible]

                                          Flypitch construction henkin_bounded_formula_chain', retained by the first-order soundness and completeness development.

                                          Equations
                                          Instances For

                                            Cocones with vertex L_∞ #

                                            Cocone over the preterm chain with vertex preterm (L_∞ L) l

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              Cocone over the preformula chain with vertex @preformula (L_∞ L) l

                                              Equations
                                              Instances For

                                                Cocone over the bounded term chain with vertex bounded_preterm (L_∞ L) n l

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  Cocone over the bounded formula chain (Task 16b, #

                                                  src/henkin.lean:452-499)

                                                  Cocone over the bounded preformula chain with vertex bounded_preformula (L_∞ L) n l

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For

                                                    bounded_formula (L_∞ L) 1 is naturally a cocone over the diagram of bounded_formulas

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For

                                                      Comparison maps (universal maps from colimits to L_∞) #

                                                      Flypitch construction term_comparison, retained by the first-order soundness and completeness development.

                                                      Equations
                                                      Instances For

                                                        Flypitch construction formula_comparison, retained by the first-order soundness and completeness development.

                                                        Equations
                                                        Instances For

                                                          Flypitch construction bounded_term_comparison, retained by the first-order soundness and completeness development.

                                                          Equations
                                                          Instances For
                                                            @[reducible]

                                                            Flypitch construction bounded_term'_comparison, retained by the first-order soundness and completeness development.

                                                            Equations
                                                            Instances For

                                                              Flypitch construction bounded_formula_comparison, retained by the first-order soundness and completeness development.

                                                              Equations
                                                              Instances For
                                                                @[reducible]

                                                                Flypitch construction bounded_formula'_comparison, retained by the first-order soundness and completeness development.

                                                                Equations
                                                                Instances For

                                                                  Bijectivity of comparison maps (src/henkin.lean:508-655) #

                                                                  Flypitch construction equiv_bounded_formula_comparison, retained by the first-order soundness and completeness development.

                                                                  Equations
                                                                  Instances For

                                                                    Henkin theory chain (src/henkin.lean:661-734) #

                                                                    has_enough_constants (from src/fol.lean:2482) #

                                                                    A theory has enough constants if every bounded formula has a Henkin witness

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For

                                                                      ι: pushing T_n into Theory L_∞ #

                                                                      Given T_n from henkin_theory_chain, ι T_n is the expansion of T_n to an L_infty theory

                                                                      Equations
                                                                      Instances For
                                                                        @[simp]

                                                                        Monotonicity: ι is increasing (src/henkin.lean:736-751) #

                                                                        theorem NFChoice.Fol.iota_inclusion_of_le {L : Language} {T : SentTheory L} {i j : ℕ} :
                                                                        i ≤ j → ι i ⊆ ι j

                                                                        T_infty: the henkinization (src/henkin.lean:753-774) #

                                                                        @[reducible]

                                                                        T_infty is the henkinization of T; we define it to be the union ⋃ (n : ℕ), ι(T n).

                                                                        Equations
                                                                        Instances For
                                                                          @[reducible]

                                                                          Flypitch construction henkin_language, retained by the first-order soundness and completeness development.

                                                                          Equations
                                                                          Instances For

                                                                            Flypitch construction henkin_language_over, retained by the first-order soundness and completeness development.

                                                                            Equations
                                                                            Instances For
                                                                              @[reducible]

                                                                              Flypitch construction henkinization, retained by the first-order soundness and completeness development.

                                                                              Equations
                                                                              Instances For

                                                                                wit_infty: find a Henkin witness in henkinization #

                                                                                (src/henkin.lean:778-783)

                                                                                Flypitch construction wit_infty, retained by the first-order soundness and completeness development.

                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For

                                                                                  henkinization has enough constants #

                                                                                  (src/henkin.lean:785-831)

                                                                                  Directed union infrastructure (src/henkin.lean:833-874) #

                                                                                  For every n, T_n as a Theory_over (ι T 0)

                                                                                  Equations
                                                                                  Instances For

                                                                                    Flypitch construction henkin_theory_schain, retained by the first-order soundness and completeness development.

                                                                                    Equations
                                                                                    Instances For

                                                                                      Completion of henkinization (src/henkin.lean:891-911) #

                                                                                      noncomputable def NFChoice.Fol.completionOfHenkinizationCore {L : Language} {T : SentTheory L} (hT : T.isConsistent) :
                                                                                      (T' : TheoryOver (henkinization hT) ⋯) ×' (↑T').isComplete

                                                                                      The core completion: henkinization extends to a complete consistent theory

                                                                                      Equations
                                                                                      Instances For

                                                                                        The completed theory contains the henkinization

                                                                                        Helpers for the term model (ported from #

                                                                                        src/fol.lean:2445-2498)

                                                                                        theorem NFChoice.Fol.mem_of_sprovable {L : Language} {T : SentTheory L} (hcomp : T.isComplete) {f : sentence L} (hf : T.sprovable f) :
                                                                                        f ∈ T

                                                                                        If T is complete and T ⊢ₛ' f, then f ∈ T

                                                                                        theorem NFChoice.Fol.notI_of_is_complete {L : Language} {T : SentTheory L} (hcomp : T.isComplete) {f : sentence L} (hf : ¬T.sprovable f) :

                                                                                        If T is complete and T ⊬ₛ' f, then T ⊢ₛ' bd_not f

                                                                                        theorem NFChoice.Fol.impI_of_is_complete {L : Language} {T : SentTheory L} (hcomp : T.isComplete) {φ ψ : sentence L} (h : T.sprovable φ → T.sprovable ψ) :
                                                                                        T.sprovable (bd_imp φ ψ)

                                                                                        If T is complete, T ⊢ₛ' (bd_imp φ ψ) follows from (T ⊢ₛ' φ → T ⊢ₛ' ψ)

                                                                                        Given a complete Henkin theory, universal failure yields a counterexample

                                                                                        Term model construction (src/fol.lean:2500-2559) #

                                                                                        def NFChoice.Fol.term_rel {L : Language} (T : SentTheory L) (t₁ t₂ : closedTerm L) :

                                                                                        The term equality relation: t₁ ~ t₂ iff T ⊢ₛ' t₁ ≃ t₂

                                                                                        Equations
                                                                                        Instances For
                                                                                          noncomputable def NFChoice.Fol.term_setoid {L : Language} (T : SentTheory L) :

                                                                                          The term equality setoid

                                                                                          Equations
                                                                                          Instances For
                                                                                            @[reducible, inline]
                                                                                            noncomputable abbrev NFChoice.Fol.termModel' {L : Language} (T : SentTheory L) :

                                                                                            The carrier of the term model: closed terms modulo provable equality

                                                                                            Equations
                                                                                            Instances For
                                                                                              noncomputable def NFChoice.Fol.term_model_fun' {L : Language} (T : SentTheory L) {l : ℕ} (t : closedPreterm L l) (ts : DVec (closedTerm L) l) :

                                                                                              The function interpretation helper for the term model

                                                                                              Equations
                                                                                              Instances For
                                                                                                theorem NFChoice.Fol.term_model_fun'_congr {L : Language} {T : SentTheory L} {l : ℕ} (t : closedPreterm L l) {xs xs' : DVec (closedTerm L) l} :
                                                                                                xs.DVecRel xs' → term_model_fun' T t xs = term_model_fun' T t xs'

                                                                                                Helper: term_model_fun' is compatible with term_rel on each argument

                                                                                                noncomputable def NFChoice.Fol.term_model_fun {L : Language} (T : SentTheory L) {l : ℕ} (t : closedPreterm L l) (ts : DVec (termModel' T) l) :

                                                                                                The function interpretation in the term model, using quotient_lift

                                                                                                Equations
                                                                                                Instances For
                                                                                                  noncomputable def NFChoice.Fol.term_model_rel' {L : Language} (T : SentTheory L) {l : ℕ} (f : presentence L l) (ts : DVec (closedTerm L) l) :

                                                                                                  The relation interpretation helper

                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    theorem NFChoice.Fol.term_model_rel'_congr {L : Language} {T : SentTheory L} {l : ℕ} (f : presentence L l) {xs xs' : DVec (closedTerm L) l} :
                                                                                                    xs.DVecRel xs' → term_model_rel' T f xs = term_model_rel' T f xs'

                                                                                                    Helper: term_model_rel' is compatible with term_rel on each argument

                                                                                                    noncomputable def NFChoice.Fol.term_model_rel {L : Language} (T : SentTheory L) {l : ℕ} (f : presentence L l) (ts : DVec (termModel' T) l) :

                                                                                                    The relation interpretation in the term model

                                                                                                    Equations
                                                                                                    Instances For

                                                                                                      Term model and main completeness theorem #

                                                                                                      @[reducible]
                                                                                                      noncomputable def NFChoice.Fol.term_model {L : Language} {T : SentTheory L} (_hcomp : T.isComplete) (_henk : hasEnoughConstants T) :

                                                                                                      term_model of a complete Henkin theory (src/fol.lean:2559-2562)

                                                                                                      Equations
                                                                                                      • One or more equations did not get rendered due to their size.
                                                                                                      Instances For
                                                                                                        @[reducible]
                                                                                                        noncomputable def NFChoice.Fol.term_mk {L : Language} (T : SentTheory L) (t : closedTerm L) :

                                                                                                        Canonical quotient map from closed terms to the term model

                                                                                                        Equations
                                                                                                        Instances For

                                                                                                          Realization in the term model (src/fol.lean:2568-2627) #

                                                                                                          theorem NFChoice.Fol.term_model_ssatisfied_iff_struct {L : Language} {T : SentTheory L} (hcomp : T.isComplete) (henk : hasEnoughConstants T) (n : ℕ) (n_ih : ∀ m < n, ∀ {l' : ℕ} (f' : presentence L l') (ts' : DVec (closedTerm L) l'), countQuantifiers (BoundedPreformula.fst f') < m → (T.sprovable (bdAppsRel f' ts') ↔ realizeSentence (term_model hcomp henk) (bdAppsRel f' ts'))) {l : ℕ} (f : BoundedPreformula L 0 l) (ts : DVec (closedTerm L) l) :

                                                                                                          Structural recursion on a bounded_preformula L 0 l for the term-model iff, parameterized by an external IH on smaller quantifier-counts.

                                                                                                          Implemented via direct structural pattern matching on `f` to
                                                                                                          avoid issues
                                                                                                          with `induction` on a non-variable index `n = 0`. 
                                                                                                          

                                                                                                          The term model satisfies T (src/fol.lean:2672)

                                                                                                          @[simp]

                                                                                                          The reduct of the term model of the complete henkinization satisfies T

                                                                                                          @[simp]

                                                                                                          Given ψ ∈ T, the term model satisfies ψ