Compatibility frames #
This file defines compatibility frames, the possibility semantics for orthologic on which
Holliday and Mandelkern build their account of epistemic modals, and the ortholattice of regular
propositions of a frame. A compatibility frame is a set of partial possibilities with a
reflexive, symmetric compatibility relation, and a possibility can settle a disjunction without
settling either disjunct. The propositions are the regular sets, negation is the orthocomplement
orthoNeg, and the regular sets form an ortholattice that need not be Boolean.
Main definitions #
CompatFrame: a set of possibilities with a reflexive, symmetric compatibility relation.orthoNeg,disj: orthocomplement negation and De Morgan disjunction.IsRegular,refines,IsWorld: regularity, refinement, and worlds.regularClosure: the closure operator whose fixed points are the regular sets.CompatFrame.Regular: the ortholattice of regular propositions.identityFrame: the frame whose compatibility is identity.
Main results #
IsRegular.mem_of_refines: regular sets are closed under refinement.refines_iff_mem_orthoNeg_orthoNeg: the refinements ofxform the regular set¬¬{x}.isRegular_iff_isExtent: the regular sets are the concept extents of orthogonality.orthoNeg_classical: negation is Boolean when compatibility is identity.
Implementation notes #
A frame also carries its orthogonality relation ortho, the complement of compatibility, which
defaults to ¬ compat and is stored as data in the way Preorder stores <. The regular
propositions are the concepts of ortho (Core/Order/Concept.lean), and a frame built from an
orthogonality relation, such as the canonical frame of an ortholattice, keeps that relation
definitionally. Decidability of compat is not bundled: use sites take
[DecidableRel F.compat], as for SimpleGraph.Adj. The paper's frames are nonempty; no result
here needs it, so the structure does not require it.
References #
Compatibility frames #
A compatibility frame is a set of possibilities with a reflexive, symmetric compatibility relation; two possibilities are compatible when neither settles as true anything the other settles as false ([HM24] Definition 4.1).
- compat : S → S → Prop
Compatibility of possibilities.
- compat_refl : Std.Refl self.compat
- compat_symm : Std.Symm self.compat
- ortho : S → S → Prop
Orthogonality, the complement of compatibility.
Instances For
Compatibility is reflexive.
Compatibility is symmetric, as SimpleGraph.Adj.symm is for adjacency.
Equations
- F.instDecidableRelOrthoOfCompat x y = decidable_of_iff (¬F.compat x y) ⋯
Orthocomplement negation and connectives #
The orthocomplement ¬A holds at the possibilities compatible with no A-possibility,
those whose information settles ¬A ([HM24] Proposition 4.8,
eq. (1)).
Equations
- Orthologic.orthoNeg F A = {x : S | ∀ (y : S), F.compat x y → y ∉ A}
Instances For
Equations
- Orthologic.instDecidableMemSetOrthoNegOfFintypeOfDecidableRelCompatOfDecidablePred F A x = id inferInstance
This instance decides orthoNeg F A x in application form from [DecidablePred A], for
goals that reduce membership.
Equations
- Orthologic.orthoNeg_apply_decidable F A x = id (have this := Orthologic.orthoNeg_apply_decidable._aux_1 A; inferInstance)
Conjunction is intersection, named beside disj.
Equations
- Orthologic.conj A B = A ∩ B
Instances For
The De Morgan disjunction A ∨ B = ¬(¬A ∩ ¬B) holds at x iff every possibility
compatible with x is compatible with one making A or B true, so it is weaker than union
([HM24] Proposition 4.8, eq. (2)).
Equations
- Orthologic.disj F A B = Orthologic.orthoNeg F (Orthologic.orthoNeg F A ∩ Orthologic.orthoNeg F B)
Instances For
Equations
- Orthologic.instDecidableMemSetDisjOfFintypeOfDecidableRelCompatOfDecidablePred F A B x = id inferInstance
Equations
- Orthologic.disj_apply_decidable F A B x = id (have hA := Orthologic.disj_apply_decidable._aux_1 A; have hB := Orthologic.disj_apply_decidable._aux_3 B; inferInstance)
Equations
- Orthologic.conj_apply_decidable A B x = { decide := decide (A x) && decide (B x), reflects_decide := ⋯ }
Regularity #
A set A is regular when every possibility outside A is compatible with one all of whose
compatible possibilities lie outside A; only regular sets count as propositions
([HM24] Definition 4.3).
Equations
- Orthologic.IsRegular F A = ∀ (x : S), x ∈ A ∨ ∃ (y : S), F.compat x y ∧ ∀ (z : S), F.compat y z → z ∉ A
Instances For
Equations
- Orthologic.instDecidableIsRegularOfFintypeOfDecidableRelCompatOfDecidablePredMemSet F A = id inferInstance
This instance decides IsRegular F A from [DecidablePred A].
Equations
- Orthologic.isRegular_apply_decidable F A = id (have this := Orthologic.isRegular_apply_decidable._aux_1 A; inferInstance)
Refinement and worlds #
A possibility y refines x, written y ⊑ x, when every possibility compatible with y
is compatible with x, so that y carries at least as much information
([HM24] Lemma 4.4, condition 2).
Equations
- Orthologic.refines F y x = ∀ (z : S), F.compat y z → F.compat x z
Instances For
Equations
- Orthologic.instDecidableRefinesOfFintypeOfDecidableRelCompat F y x = id inferInstance
Regular sets are closed under refinement, since a refinement settles every proposition its coarsening settles. This is the direction of [HM24] Lemma 4.4 from compatibility to regular sets.
The refinements of x are the possibilities settling ¬¬{x}, so they form a regular set
([HM24] Lemma 4.5).
A world is a possibility that refines everything it is compatible with, the most informative kind of possibility ([HM24] Definition 4.6).
Equations
- Orthologic.IsWorld F w = ∀ (x : S), F.compat w x → Orthologic.refines F w x
Instances For
Equations
- Orthologic.instDecidableIsWorldOfFintypeOfDecidableRelCompat F w = id inferInstance
Classical collapse #
When compatibility is identity (every possibility is a world), orthocomplement reduces to Boolean negation and the ortholattice is Boolean. This is the sense in which possible-world semantics is a special case of possibility semantics. [HM24] Remark 4.9 characterizes Boolean collapse as compatibility-implies-compossibility; the identity frame below is the simplest instance of that condition.
In the identity frame each possibility is compatible only with itself.
Equations
- Orthologic.identityFrame = { compat := fun (x y : S) => x = y, compat_refl := ⋯, compat_symm := ⋯, ortho_iff := ⋯ }
Instances For
Equations
- Orthologic.instDecidableRelCompatIdentityFrame a b = id inferInstance
In the identity frame, orthoNeg is pointwise negation.
The c_◇ closure operator #
The closure operator c_◇ sends A to the possibilities all of whose compatible
possibilities are compatible with an A-possibility; its fixed points are the regular sets
([HM24] footnote 19).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Closure properties of regular sets #
The orthocomplement of any set is regular, whether or not the set is.
Regular sets are closed under intersection.
A disjunction is regular, being an orthocomplement.
The empty set is regular.
The full set is regular.
Orthocomplementation is involutive on regular sets, ¬¬A = A
([HM24] Proposition 4.8).
Regular sets as concept extents #
orthoNeg is the upperPolar of the orthogonality relation.
IsRegular is the double-orthonegation fixed-point condition.
The regular sets of F are exactly the concept extents of its orthogonality relation.
[HM24]'s Proposition 4.8 is then mathlib's
upperPolar_lowerPolar_upperPolar.
The ortholattice of regular propositions #
The regular propositions of F form the ortholattice of concepts of its orthogonality
relation.
Instances For
F.regOf A h is the regular proposition with underlying set A.
Instances For
The underlying set of a regular proposition is regular.
The join of regular propositions is their De Morgan disjunction disj.