Coded infinitary connectives #
An infinitary formula branches over one fixed carrier κ. A conjunction or disjunction indexed
by another type ι is expressed at κ along an index coding c : IndexCoding ι κ: each index
k : κ that decodes to i : ι carries the i-th branch, and each undecodable index carries a
semantically neutral branch, ⊤ for a conjunction and ⊥ for a disjunction. Indices that decode
to the same i carry the same branch. The realization of the coded connective is therefore the
ι-indexed conjunction or disjunction, whatever the coding.
Main definitions #
FirstOrder.Language.BoundedFormulaInf.iInfAlong: theι-indexed conjunction at carrierκ.FirstOrder.Language.BoundedFormulaInf.iSupAlong: theι-indexed disjunction at carrierκ.
Main results #
FirstOrder.Language.BoundedFormulaInf.realize_iInfAlong: the coded conjunction is realized exactly when every branch is.FirstOrder.Language.BoundedFormulaInf.realize_iSupAlong: the coded disjunction is realized exactly when some branch is.
References #
- Ported from
cameronfreer/infinitary-logicat commit9f82bd572af2d79a043c6bc3f1b745f14e0bcaa4, whose coded connectives are inMathlib/ModelTheory/Infinitary/Reindex.leanincameronfreer/mathlib4at commit346a4bd3f95e8591976c91259badc6d2c300f638. - Divergences from these sources: the coded connectives have their own module, apart from
whole-formula transport; their bodies are not exposed and are used through the defining
equations
iInfAlong_defandiSupAlong_def; the realization laws are derived from the padding lawsIndexCoding.comp_pad,IndexCoding.forall_pad_true_iffandIndexCoding.exists_pad_false_iff.
The coded conjunction of an ι-indexed family at carrier κ, along a coding: an index
decoding to i carries the i-th conjunct, and an undecodable index carries ⊤.
Instances For
The coded disjunction of an ι-indexed family at carrier κ, along a coding: an index
decoding to i carries the i-th disjunct, and an undecodable index carries ⊥.
Instances For
The coded conjunction is the carrier conjunction of the family padded with ⊤.
The coded disjunction is the carrier disjunction of the family padded with ⊥.
The coded conjunction is realized exactly when every conjunct is. The padding branches
are ⊤, which is always realized.
The coded disjunction is realized exactly when some disjunct is. The padding branches are
⊥, which is never realized.