Documentation

LeanPool.InfinitaryLogic.Methods.PolarityCalculus

The signed occurrence calculus (issue #14, Unit 0 layer 2) #

The Methods-level half of Unit 0: the bridge from the signed traversal of Lomega1omega/Polarity.lean to the unsigned relationsIn, and the signed twin of every occurrence law the interpolation kernel consumes — language maps, relabelling, casting, substitution, quantifier blocks, the constant-expansion machinery (abstractConst, genEx, instConst, stripConsts), and the baseRelationsIn calculus.

Layering: the Core file knows nothing of relationsIn, baseRelationsIn, or the Henkin machinery; everything that mentions them lives here.

Acceptance gates of Unit 0 (all in this file or its Core companion):

No semantics and no inseparability notions appear in Unit 0.

The bridge to the unsigned occurrence set #

Acceptance gate: the relation symbols of a formula are exactly those occurring with one of the two signs. This is what makes Craig interpolation a corollary of Lyndon interpolation at the occurrence level.

Language maps, relabelling, casting, substitution #

theorem FirstOrder.Language.BoundedFormulaω.relationsInSigned_mapLanguage {L : Language} {α : Type} {L' : Language} (g : L →ᴸ L') (s : Bool) {n : } (φ : L.BoundedFormulaω α n) :
relationsInSigned s (mapLanguage g φ) = (fun (p : (n : ) × L.Relations n) => p.fst, g.onRelation p.snd) '' relationsInSigned s φ

Acceptance gate (exact image law): a language map moves the signed occurrence sets by the symbol map, sign by sign.

Finite quantifier blocks #

The constant-expansion machinery #

The base signed occurrence sets #

The base signed occurrence sets of a constant-expansion formula (the constant layer contributes no relation symbols).

Equations
Instances For
    @[reducible, inline]

    The relation symbols occurring positively in a constant-expansion formula, read in the base language.

    Equations
    Instances For
      @[reducible, inline]

      The relation symbols occurring negatively in a constant-expansion formula, read in the base language.

      Equations
      Instances For

        Alias gate: positive base occurrences of ¬φ are the negative ones of φ.

        Alias gate: negative base occurrences of ¬φ are the positive ones of φ.

        theorem FirstOrder.Language.BoundedFormulaω.baseRelationsInSigned_imp_subset {L' : Language} {J α : Type} {n : } {A : Set ((n : ) × L'.Relations n)} {s : Bool} {φ ψ : (L'.withConstants J).BoundedFormulaω α n} (h₁ : baseRelationsInSigned (!s) φA) (h₂ : baseRelationsInSigned s ψA) :
        baseRelationsInSigned s (φ.imp ψ)A
        theorem FirstOrder.Language.BoundedFormulaω.baseRelationsInSigned_iSup_subset {L' : Language} {J α : Type} {n : } {A : Set ((n : ) × L'.Relations n)} {s : Bool} (φs : (L'.withConstants J).BoundedFormulaω α n) (h : ∀ (k : ), baseRelationsInSigned s (φs k)A) :

        Base signed occurrences of the kernel's atomic sentences #

        @[simp]

        A constant equality has no signed base occurrences, in either sign — the syntactic form of "equality is logical".

        An atomic relation instance's base positive set is exactly its own symbol.

        Existential generalization of a constant does not move the base signed sets.

        Alias form of the constant-expansion image law, positive sign (matches the abbrev shape, so rw fires on goals stated with basePositiveRelations).

        Stripping a constant-free formula keeps the signed occurrences inside the base signed set.