Finite approximability
Content created by Viktor Yudov.
Created on 2024-04-06.
Last modified on 2024-05-31.
module modal-logic.finite-approximability where
Imports
open import foundation.dependent-pair-types open import foundation.existential-quantification open import foundation.law-of-excluded-middle open import foundation.propositional-resizing open import foundation.unit-type open import foundation.universe-levels open import foundation-core.cartesian-product-types open import foundation-core.identity-types open import foundation-core.propositions open import foundation-core.sets open import foundation-core.subtypes open import modal-logic.closed-under-subformulas-theories open import modal-logic.completeness open import modal-logic.completeness-k open import modal-logic.completeness-s5 open import modal-logic.deduction open import modal-logic.filtrated-kripke-classes open import modal-logic.kripke-models-filtrations open import modal-logic.kripke-semantics open import modal-logic.minimal-kripke-filtration open import modal-logic.minimal-transitive-kripke-filtration open import modal-logic.modal-logic-k open import modal-logic.modal-logic-s5 open import modal-logic.soundness open import modal-logic.subformulas open import order-theory.zorn open import univalent-combinatorics.finite-types
Idea
TODO
Definition
module _ {l1 : Level} (i : Set l1) where is-finitely-approximable-Prop : {l2 : Level} (l3 l4 l5 l6 : Level) → modal-theory l2 i → Prop (l1 ⊔ l2 ⊔ lsuc l3 ⊔ lsuc l4 ⊔ lsuc l5 ⊔ lsuc l6) is-finitely-approximable-Prop l3 l4 l5 l6 logic = exists-structure-Prop ( model-class l3 l4 i l5 l6) ( λ C → ( C ⊆ finite-kripke-models l3 l4 i l5) × ( soundness logic C) × ( completeness logic C)) is-finitely-approximable : {l2 : Level} (l3 l4 l5 l6 : Level) → modal-theory l2 i → UU (l1 ⊔ l2 ⊔ lsuc l3 ⊔ lsuc l4 ⊔ lsuc l5 ⊔ lsuc l6) is-finitely-approximable l3 l4 l5 l6 logic = type-Prop (is-finitely-approximable-Prop l3 l4 l5 l6 logic) module _ {l2 l3 l4 l5 l6 l7 l8 l9 l10 : Level} (C : model-class l2 l3 i l4 l5) (filtration : modal-theory l1 i → kripke-model l2 l3 i l4 → kripke-model l6 l7 i l8) (is-filtration : ((M , _) : type-subtype C) (theory : modal-theory l1 i) → is-modal-theory-closed-under-subformulas theory → is-kripke-model-filtration theory M (filtration theory M)) (logic : modal-theory l9 i) (complete : completeness logic C) (C₂ : model-class l6 l7 i l8 l10) (leq : filtrate-class i C filtration ⊆ C₂) (sound : soundness logic C₂) where is-finitely-approximable-filtration : LEM (lsuc l1 ⊔ lsuc l2 ⊔ lsuc l3 ⊔ lsuc l4) → is-finitely-approximable l6 l7 l8 (l1 ⊔ l5 ⊔ lsuc (l2 ⊔ l3 ⊔ l4 ⊔ l6 ⊔ l7 ⊔ l8)) logic is-finitely-approximable-filtration lem = intro-exists (filtrate-class i C filtration) ( triple ( is-finite-filtrate-class i C filtration is-filtration lem) ( filtrate-soundness i C filtration logic C₂ leq sound) ( filtrate-completeness i C filtration is-filtration logic complete)) module _ (lem : LEM (lsuc (lsuc l1))) (zorn : Zorn (lsuc l1) l1 l1) (prop-resize : propositional-resizing l1 (lsuc l1)) where is-finitely-approximable-K : is-finitely-approximable ( lsuc (lsuc l1)) ( lsuc l1) ( lsuc l1) ( lsuc (lsuc (lsuc l1))) ( modal-logic-K i) is-finitely-approximable-K = is-finitely-approximable-filtration ( all-models (lsuc l1) l1 i l1) ( minimal-kripke-model-filtration) ( λ (M , _) theory is-closed → ( is-kripke-model-filtration-minimal-kripke-model-filtration ( theory) ( M) ( is-closed))) ( modal-logic-K i) ( completeness-K i (lower-LEM (lsuc (lsuc l1)) lem) zorn prop-resize) ( all-models (lsuc (lsuc l1)) (lsuc l1) i (lsuc l1)) ( λ _ _ → star) ( transitive-leq-subtype ( modal-logic-K i) ( class-modal-logic ( decidable-kripke-models (lsuc (lsuc l1)) (lsuc l1) i (lsuc l1))) ( class-modal-logic ( all-models (lsuc (lsuc l1)) (lsuc l1) i (lsuc l1))) ( class-modal-logic-monotic ( all-models (lsuc (lsuc l1)) (lsuc l1) i (lsuc l1)) ( decidable-kripke-models (lsuc (lsuc l1)) (lsuc l1) i (lsuc l1)) ( all-models-is-decidable i lem)) ( soundness-K i)) ( lem) is-finitely-approximable-S5 : is-finitely-approximable ( lsuc (lsuc l1)) ( lsuc (lsuc l1)) ( lsuc l1) ( lsuc (lsuc (lsuc l1))) ( modal-logic-S5 i) is-finitely-approximable-S5 = is-finitely-approximable-filtration ( equivalence-kripke-models (lsuc l1) l1 i l1) ( minimal-transitive-kripke-model-filtration) ( λ (M , in-equiv) theory is-closed → ( is-filtration-minimal-transitive-kripke-model-filtration ( theory) ( M) ( is-closed) ( pr2 (pr2 in-equiv)))) -- TODO: refactor ( modal-logic-S5 i) ( completeness-S5 i (lower-LEM (lsuc (lsuc l1)) lem) zorn prop-resize) ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1)) ( λ M* → ( elim-exists ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1) M*) ( λ where ( a , M , in-equiv) refl → ( minimal-transitive-filtration-preserves-equivalence ( subformulas a) ( M) ( is-modal-theory-closed-under-subformulas-subformulas a) ( in-equiv))))) ( transitive-leq-subtype ( modal-logic-S5 i) ( class-modal-logic ( decidable-subclass i ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1)))) ( class-modal-logic ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1))) ( class-modal-logic-monotic ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1)) ( decidable-subclass i ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1))) ( subset-decidable-subclass-lem i lem ( equivalence-kripke-models (lsuc (lsuc l1)) (lsuc (lsuc l1)) i (lsuc l1)))) ( soundness-S5 i)) ( lem)
Recent changes
- 2024-05-31. Viktor Yudov. Fix import in finite-approximability.
- 2024-05-31. Viktor Yudov. Refactor filtrations.
- 2024-05-25. Viktor Yudov. Refactor.
- 2024-05-16. Viktor Yudov. Refactor finite approximability.
- 2024-05-08. Viktor Yudov. Refactor kripke semantics.