Isomorphisms of Aristotelian diagrams #
Per [DKVD24] and [DS24]. An Aristotelian isomorphism is a bijection of corners preserving the labeled relation matrix; these form a groupoid — the core of the category of Aristotelian diagrams of [DKVD24]. A Boolean isomorphism ([DS24], Definition 7) is the stronger notion of a corner bijection extending to an order-isomorphism of the Boolean closures; every Boolean isomorphism is an Aristotelian one, but not conversely (the Keynes–Johnson octagons of [DS24] witness the gap).
Main declarations #
AristotelianIso— a relation-matrix-preserving corner bijection, withrefl/symm/trans.BooleanIso,BooleanIso.toAristotelianIso— the stronger notion and the nesting.
Disjoint transfers across a Boolean subalgebra's coercion.
UPSTREAM: belongs in Mathlib.Order.BooleanSubalgebra, cf. Complementeds.disjoint_coe.
Codisjoint transfers across a Boolean subalgebra's coercion.
UPSTREAM: belongs in Mathlib.Order.BooleanSubalgebra, cf. Complementeds.codisjoint_coe.
An Aristotelian isomorphism ([DS24], Definition 6): a corner bijection
preserving and reflecting Disjoint, Codisjoint, and < — equivalently all four Aristotelian
relations (map_isContradictory etc.), since these are boolean combinations.
- toFun : ι → ι'
- invFun : ι' → ι
- map_disjoint (i j : ι) : Disjoint (D.φ i) (D.φ j) ↔ Disjoint (D'.φ (self.toFun i)) (D'.φ (self.toFun j))
Joint inconsistency (
⊓ = ⊥) is preserved and reflected. - map_codisjoint (i j : ι) : Codisjoint (D.φ i) (D.φ j) ↔ Codisjoint (D'.φ (self.toFun i)) (D'.φ (self.toFun j))
Joint exhaustiveness (
⊔ = ⊤) is preserved and reflected. Strict entailment (subalternation) is preserved and reflected.
Instances For
Equations
- One or more equations did not get rendered due to their size.
The identity Aristotelian isomorphism.
Equations
- Aristotelian.AristotelianIso.refl D = { toEquiv := Equiv.refl ι, map_disjoint := ⋯, map_codisjoint := ⋯, map_lt := ⋯ }
Instances For
The inverse Aristotelian isomorphism.
Instances For
Composition of Aristotelian isomorphisms.
Equations
Instances For
An Aristotelian isomorphism preserves and reflects contradictoriness (Definition 6).
An Aristotelian isomorphism preserves and reflects contrariety (Definition 6).
An Aristotelian isomorphism preserves and reflects subcontrariety (Definition 6).
An Aristotelian isomorphism preserves and reflects subalternation (Definition 6).
Boolean isomorphism (Definition 7) and the nesting #
A Boolean isomorphism ([DS24], Definition 7): a corner bijection that extends to an order-isomorphism of the Boolean closures.
- toEquiv : ι ≃ ι'
The underlying corner bijection.
- closureIso : ↥(BooleanSubalgebra.closure (Set.range D.φ)) ≃o ↥(BooleanSubalgebra.closure (Set.range D'.φ))
The order-isomorphism of Boolean closures extending it.
- extends_corners (i : ι) : self.closureIso (D.corner i) = D'.corner (self.toEquiv i)
closureIsocarries corners to corners.
Instances For
The identity Boolean isomorphism.
Equations
- Aristotelian.BooleanIso.refl D = { toEquiv := Equiv.refl ι, closureIso := OrderIso.refl ↥(BooleanSubalgebra.closure (Set.range D.φ)), extends_corners := ⋯ }
Instances For
The inverse Boolean isomorphism.
Equations
- e.symm = { toEquiv := e.toEquiv.symm, closureIso := e.closureIso.symm, extends_corners := ⋯ }
Instances For
Composition of Boolean isomorphisms.
Equations
- e.trans e' = { toEquiv := e.toEquiv.trans e'.toEquiv, closureIso := e.closureIso.trans e'.closureIso, extends_corners := ⋯ }
Instances For
Every Boolean isomorphism is an Aristotelian isomorphism ([DS24], p.13); the converse fails (the Keynes–Johnson octagons witness the gap).
Equations
- bi.toAristotelianIso = { toEquiv := bi.toEquiv, map_disjoint := ⋯, map_codisjoint := ⋯, map_lt := ⋯ }
Instances For
Forget a Boolean isomorphism down to its underlying Aristotelian isomorphism.