(*<*) theory TAO_7_Axioms imports TAO_6_Identifiable begin (*>*)
section‹The Axioms of PLM› text‹\label{TAO_Axioms}›
text‹
begin{remark}
The axioms of PLM can now be derived from the Semantics
and the model structure.
end{remark} ›
(* TODO: why is this needed again here? The syntax should already
have been disabled in TAO_Semantics. *) (* disable list syntax [] to replace it with truth evaluation *) (*<*) unbundle no list_enumeration_syntax and no list_comprehension_syntax(*>*)
localeAxioms begin interpretation MetaSolver . interpretation Semantics .
named_theorems axiom
text‹
begin{remark}
The special syntax ‹[[_]]› is introduced for stating the axioms.
Modally-fragile axioms are stated with the syntax for actual validity ‹[_]›.
end{remark} ›
definition axiom :: "o==>bool" (‹[[_]]›) where"axiom ≡ λ φ . ∀ v . [φ in v]"
text‹
begin{remark}
Rules resembling the concepts of closures in PLM are derived. Theorem attributes are introduced
to aid in the instantiation of the axioms.
end{remark} ›
lemma axiom_instance[axiom]: "[[φ]] ==> [φ in v]" unfolding axiom_def by simp lemma closures_universal[axiom]: "(∧x.[[φ x]]) ==> [[\<forall> x. φ x]]" by axiom_meta_solver lemma closures_actualization[axiom]: "[[φ]] ==> [[\<A> φ]]" by axiom_meta_solver lemma closures_necessitation[axiom]: "[[φ]] ==> [[\<box> φ]]" by axiom_meta_solver lemma necessitation_averse_axiom_instance[axiom]: "[φ] ==> [φ in dw]" by axiom_meta_solver lemma necessitation_averse_closures_universal[axiom]: "(∧x.[φ x]) ==> [\<forall> x. φ x]" by axiom_meta_solver
subsection‹Axioms of Necessity and Actuality› text‹\label{TAO_Axioms_NecessityAndActuality}›
lemma qml_act_1[axiom]: "[[\<A>φ \<rightarrow> \<box>\<A>φ]]" by axiom_meta_solver lemma qml_act_2[axiom]: "[[\<box>φ \<equiv> \<A>(\<box>φ)]]" by axiom_meta_solver
subsection‹Axioms of Descriptions› text‹\label{TAO_Axioms_Descriptions}›
lemma descriptions[axiom]: "[[xP= (\<iota>x. φ x) \<equiv> (\<forall>z.(\<A>(φ z) \<equiv> z = x))]]" unfolding axiom_def proof (rule allI, rule EquivI; rule) fix v assume"[xP= (\<iota>x. φ x) in v]" moreoverhence1: "∃o1 o2. Some o1 = d\<kappa> (xP) ∧ Some o2 = d\<kappa> (\<iota>x. φ x) ∧ o1 = o2" apply - unfolding identity_κ_defby meta_solver thenobtain o1 o2where2: "Some o1 = d\<kappa> (xP) ∧ Some o2 = d\<kappa> (\<iota>x. φ x) ∧ o1 = o2" by auto hence3: "(∃ x .((w0⊨ φ x) ∧ (∀y. (w0⊨ φ y) ⟶ y = x))) ∧ d\<kappa> (\<iota>x. φ x) = Some (THE x. (w0⊨ φ x))" using D3 by (metis option.distinct(1)) thenobtain X where4: "((w0⊨ φ X) ∧ (∀y. (w0⊨ φ y) ⟶ y = X))" by auto moreoverhave"o1 = (THE x. (w0⊨ φ x))" using23by auto ultimatelyhave5: "X = o1" by (metis (mono_tags) theI) have"∀ z . [\<A>φ z in v] = [(zP) = (xP) in v]" proof fix z have"[\<A>φ z in v] ==> [(zP) = (xP) in v]" unfolding identity_κ_defapply meta_solver using452 d\<kappa>_proper w0_defby auto moreoverhave"[(zP) = (xP) in v] ==> [\<A>φ z in v]" unfolding identity_κ_defapply meta_solver using245 by (simp add: d\<kappa>_proper w0_def) ultimatelyshow"[\<A>φ z in v] = [(zP) = (xP) in v]" by auto qed thus"[\<forall>z. \<A>φ z \<equiv> (z) = (x) in v]" unfolding identity_ν_def by (simp add: AllI EquivS) next fix v assume"[\<forall>z. \<A>φ z \<equiv> (z) = (x) in v]" hence"∧z. (dw ⊨ φ z) = (∃o1 o2. Some o1 = d\<kappa> (zP) ∧ Some o2 = d\<kappa> (xP) ∧ o1 = o2)" apply - unfolding identity_ν_def identity_κ_defby meta_solver hence"∀ z . (dw ⊨ φ z) = (z = x)" by (simp add: d\<kappa>_proper) moreoverhence"x = (THE z . (dw ⊨ φ z))"by simp ultimatelyhave"xP = (\<iota>x. φ x)" using D3 d\<kappa>_inject d\<kappa>_proper w0_defby presburger thus"[xP= (\<iota>x. φ x) in v]" using EqκS unfolding identity_κ_defby (metis d\<kappa>_proper) qed
subsection‹Axioms for Complex Relation Terms› text‹\label{TAO_Axioms_ComplexRelationTerms}›
lemma lambda_predicates_1[axiom]: "(\<lambda> x . φ x) = (\<lambda> y . φ y)" ..
lemma lambda_predicates_2_1[axiom]: assumes"IsProperInX φ" shows"[[(\<lambda> x . φ (xP), xP)\<equiv> φ (xP)]]" apply axiom_meta_solver using D5_1[OF assms] d\<kappa>_proper propex1 by metis
lemma lambda_predicates_2_2[axiom]: assumes"IsProperInXY φ" shows"[[((\<lambda>2 (λ x y . φ (xP) (yP))), xP, yP)\<equiv> φ (xP) (yP)]]" apply axiom_meta_solver using D5_2[OF assms] d\<kappa>_proper propex2 by metis
lemma lambda_predicates_2_3[axiom]: assumes"IsProperInXYZ φ" shows"[[((\<lambda>3 (λ x y z . φ (xP) (yP) (zP))),xP,yP,zP)\<equiv> φ (xP) (yP) (zP)]]" proof - have"[[((\<lambda>3 (λ x y z . φ (xP) (yP) (zP))),xP,yP,zP)\<rightarrow> φ (xP) (yP) (zP)]]" apply axiom_meta_solver using D5_3[OF assms] by auto moreoverhave "[[φ (xP) (yP) (zP) \<rightarrow> ((\<lambda>3 (λ x y z . φ (xP) (yP) (zP))),xP,yP,zP)]]" apply axiom_meta_solver using D5_3[OF assms] d\<kappa>_proper propex3 by (metis (no_types, lifting)) ultimatelyshow ?thesis unfolding axiom_def equiv_def ConjS by blast qed
lemma lambda_predicates_3_1[axiom]: "[[(\<lambda> x . (F, xP)) = F]]" unfolding axiom_def apply (rule allI) unfolding identity_Π1_defapply (rule Eq1I) using D4_1 d1_inject by simp
lemma lambda_predicates_3_2[axiom]: "[[(\<lambda>2 (λ x y . (F, xP, yP))) = F]]" unfolding axiom_def apply (rule allI) unfolding identity_Π2_defapply (rule Eq2I) using D4_2 d2_inject by simp
lemma lambda_predicates_3_3[axiom]: "[[(\<lambda>3 (λ x y z . (F, xP, yP, zP))) = F]]" unfolding axiom_def apply (rule allI) unfolding identity_Π3_defapply (rule Eq3I) using D4_3 d3_inject by simp
lemma lambda_predicates_4_0[axiom]: assumes"∧x.[(\<A>(φ x \<equiv> ψ x)) in v]" shows"[[(\<lambda>0 (χ (\<iota>x. φ x)) =\<lambda>0 (χ (\<iota>x. ψ x)))]]" unfolding axiom_def identity_o_defapply - apply (rule allI; rule Eq0I) using TheEqI[OF assms[THEN ActualE, THEN EquivE]] by auto
lemma lambda_predicates_4_1[axiom]: assumes"∧x.[(\<A>(φ x \<equiv> ψ x)) in v]" shows"[[((\<lambda> x . χ (\<iota>x. φ x) x) = (\<lambda> x . χ (\<iota>x. ψ x) x))]]" unfolding axiom_def identity_Π1_defapply - apply (rule allI; rule Eq1I) using TheEqI[OF assms[THEN ActualE, THEN EquivE]] by auto
lemma lambda_predicates_4_2[axiom]: assumes"∧x.[(\<A>(φ x \<equiv> ψ x)) in v]" shows"[[((\<lambda>2 (λ x y . χ (\<iota>x. φ x) x y)) = (\<lambda>2 (λ x y . χ (\<iota>x. ψ x) x y)))]]" unfolding axiom_def identity_Π2_defapply - apply (rule allI; rule Eq2I) using TheEqI[OF assms[THEN ActualE, THEN EquivE]] by auto
lemma lambda_predicates_4_3[axiom]: assumes"∧x.[(\<A>(φ x \<equiv> ψ x)) in v]" shows"[[(\<lambda>3 (λ x y z . χ (\<iota>x. φ x) x y z)) = (\<lambda>3 (λ x y z . χ (\<iota>x. ψ x) x y z))]]" unfolding axiom_def identity_Π3_defapply - apply (rule allI; rule Eq3I) using TheEqI[OF assms[THEN ActualE, THEN EquivE]] by auto
subsection‹Axioms of Encoding› text‹\label{TAO_Axioms_Encoding}›
lemma encoding[axiom]: "[[{x,F}\<rightarrow> \<box>{x,F}]]" by axiom_meta_solver lemma nocoder[axiom]: "[[(O!,x)\<rightarrow> \<not>(\<exists> F . {x,F})]]" unfolding axiom_def apply (rule allI, rule ImplI, subst (asm) OrdS) apply meta_solver unfolding en_def by (metis ν.simps(5) mem_Collect_eq option.sel) lemma A_objects[axiom]: "[[\<exists>x. (A!,xP)& (\<forall> F . ({xP,F}\<equiv> φ F))]]" unfolding axiom_def proof (rule allI, rule ExIRule) fix v let ?x = "αν { F . [φ F in v]}" have"[(A!,?xP) in v]"by (simp add: AbsS d\<kappa>_proper) moreoverhave"[(\<forall>F. {?xP,F}\<equiv> φ F) in v]" apply meta_solver unfolding en_def using d1.rep_eq d\<kappa>_def d\<kappa>_proper evalΠ1_inverse by auto ultimatelyshow"[(A!,?xP)& (\<forall>F. {?xP,F}\<equiv> φ F) in v]" by (simp only: ConjS) qed
end
(*<*) end (*>*)
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.