Documentation

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 #

Constant abstraction does not move the signed occurrence sets.

The existential generalization of a constant does not move the signed occurrence sets.

Instantiating a universal at a constant does not move the signed occurrence sets.

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

        The base occurrence set splits by sign, exactly as the ambient one does.

        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 occurs positively only, and its base positive set does not depend on the constant tuple.

        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.