Kripke models filtrations theorem
Content created by Viktor Yudov.
Created on 2024-05-05.
Last modified on 2024-05-25.
module modal-logic.filtration-lemma where
Imports
open import foundation.action-on-identifications-functions open import foundation.binary-relations open import foundation.coproduct-types open import foundation.decidable-types open import foundation.dependent-pair-types open import foundation.equivalence-classes open import foundation.equivalences open import foundation.existential-quantification open import foundation.function-types open import foundation.identity-types open import foundation.inhabited-types open import foundation.law-of-excluded-middle open import foundation.logical-equivalences open import foundation.propositional-truncations open import foundation.propositions open import foundation.raising-universe-levels open import foundation.sets open import foundation.subtypes open import foundation.transport-along-identifications open import foundation.unit-type open import foundation.universe-levels open import foundation-core.cartesian-product-types open import foundation-core.embeddings open import foundation-core.equivalence-relations open import foundation-core.invertible-maps open import modal-logic.closed-under-subformulas-theories open import modal-logic.completeness open import modal-logic.deduction open import modal-logic.formulas open import modal-logic.kripke-models-filtrations open import modal-logic.kripke-semantics
Idea
TODO
Definition
module _ {l1 l2 l3 l4 l5 l6 l7 l8 : Level} {i : Set l3} (theory : modal-theory l5 i) (theory-is-closed : is-modal-theory-closed-under-subformulas theory) (M : kripke-model l1 l2 i l4) (M* : kripke-model l6 l7 i l8) where filtration-lemma : (is-filtration : is-kripke-model-filtration theory M M*) (a : modal-formula i) → is-in-subtype theory a → (x : type-kripke-model i M) → type-iff-Prop ( (M , x) ⊨ₘ a) ( pair ( M*) ( map-equiv-is-kripke-model-filtration theory M M* is-filtration ( class (Φ-equivalence theory M) x)) ⊨ₘ a) pr1 (filtration-lemma is-filtration (varₘ n) in-theory x) f = map-raise ( forward-implication ( is-filtration-valuate-is-kripke-model-filtration ( theory) ( M) ( M*) ( is-filtration) ( n) ( in-theory) ( x)) ( map-inv-raise f)) pr1 (filtration-lemma is-filtration ⊥ₘ in-theory x) = map-raise ∘ map-inv-raise pr1 (filtration-lemma is-filtration (a →ₘ b) in-theory x) fab fa = let (a-in-theory , b-in-theory) = is-has-subimps-is-closed-under-subformulas ( theory) ( theory-is-closed) ( in-theory) in forward-implication ( filtration-lemma is-filtration b ( b-in-theory) ( x)) ( fab ( backward-implication ( filtration-lemma is-filtration a ( a-in-theory) ( x)) ( fa))) pr1 (filtration-lemma is-filtration (□ₘ a) in-theory x) f y* r-xy = apply-universal-property-trunc-Prop ( is-inhabited-subtype-equivalence-class ( Φ-equivalence theory M) ( map-inv-equiv-is-kripke-model-filtration theory M M* ( is-filtration) ( y*))) ( (M* , y*) ⊨ₘ a) ( λ (y , y-in-class) → ( let y*-id-class = concat ( ap ( map-equiv-is-kripke-model-filtration theory M M* ( is-filtration)) ( eq-class-equivalence-class ( Φ-equivalence theory M) ( map-inv-equiv-is-kripke-model-filtration theory M ( M*) ( is-filtration) ( y*)) ( y-in-class))) ( y*) ( is-retraction-map-retraction-map-equiv ( inv-equiv ( equiv-is-kripke-model-filtration theory M M* ( is-filtration))) ( y*)) in tr ( λ z* → type-Prop ((M* , z*) ⊨ₘ a)) ( y*-id-class) ( forward-implication ( filtration-lemma is-filtration a ( is-has-subboxes-is-closed-under-subformulas ( theory) ( theory-is-closed) ( in-theory)) ( y)) ( filtration-relation-upper-bound-is-kripke-model-filtration ( theory) ( M) ( M*) ( is-filtration) ( a) ( in-theory) ( x) ( y) ( tr ( relation-kripke-model i M* ( map-equiv-is-kripke-model-filtration theory M M* ( is-filtration) ( class (Φ-equivalence theory M) x))) ( inv y*-id-class) ( r-xy)) (f))))) pr2 (filtration-lemma is-filtration (varₘ n) in-theory x) f = map-raise ( backward-implication ( is-filtration-valuate-is-kripke-model-filtration theory M M* ( is-filtration) ( n) ( in-theory) ( x)) ( map-inv-raise f)) pr2 (filtration-lemma is-filtration ⊥ₘ in-theory x) = map-raise ∘ map-inv-raise pr2 (filtration-lemma is-filtration (a →ₘ b) in-theory x) fab fa = let (a-in-theory , b-in-theory) = is-has-subimps-is-closed-under-subformulas ( theory) ( theory-is-closed) ( in-theory) in backward-implication ( filtration-lemma is-filtration b ( b-in-theory) ( x)) ( fab ( forward-implication ( filtration-lemma is-filtration a ( a-in-theory) ( x)) ( fa))) pr2 (filtration-lemma is-filtration (□ₘ a) in-theory x) f y r-xy = backward-implication ( filtration-lemma is-filtration a ( is-has-subboxes-is-closed-under-subformulas ( theory) ( theory-is-closed) ( in-theory)) ( y)) ( f ( map-equiv-is-kripke-model-filtration theory M M* is-filtration ( class (Φ-equivalence theory M) y)) ( filtration-relation-lower-bound-is-kripke-model-filtration theory ( M) ( M*) ( is-filtration) ( x) ( y) ( r-xy)))
Recent changes
- 2024-05-25. Viktor Yudov. Refactor.
- 2024-05-09. Viktor Yudov. Fix filtration definition.
- 2024-05-08. Viktor Yudov. Refactor kripke semantics.
- 2024-05-05. Viktor Yudov. Fix filtratiom lemma file name.