diff --git a/AOT_PossibleWorlds.thy b/AOT_PossibleWorlds.thy index 3b3568b..87b5c9b 100644 --- a/AOT_PossibleWorlds.thy +++ b/AOT_PossibleWorlds.thy @@ -457,6 +457,41 @@ proof - by (meson "con-dis-i-e:1" "existential:2[const_var]") qed +AOT_theorem "sit-comp-simp-unique": \\!s\p(s \ p \ \{p})\ +proof(safe intro!: "uniqueness:1"[THEN "\\<^sub>d\<^sub>fI"]) + AOT_obtain s where s_prop: \\p(s \ p \ \{p})\ + using "sit-comp-simp" Situation.instantiation[rotated] by meson + AOT_show \\\ (Situation(\) & \p (\ \ p \ \{p}) & \\ (Situation(\) & \p (\ \ p \ \{p}) \ \ = \))\ + proof(safe intro!: "\I"(2) "&I") + AOT_show \Situation(s)\ + using "Situation.\" by auto + next + AOT_show \\p(s \ p \ \{p})\ using s_prop. + next + AOT_show \\\ (Situation(\) & \p (\ \ p \ \{p}) \ \ = s)\ + proof(safe intro!: GEN "\I") + fix x + AOT_assume 1: \Situation(x) & \p (x \ p \ \{p})\ + AOT_show \x = s\ + proof (safe intro!: "sit-identity"[unconstrain s, THEN "\E", THEN "\E"(2)] 1[THEN "&E"(1)] GEN "\I" "\I") + fix p + AOT_assume \x \ p\ + AOT_hence \\{p}\ + using "1" "con-dis-i-e:2:b" "intro-elim:3:a" "log-prop-prop:2" "rule-ui:1" by blast + AOT_thus \s \ p\ + using s_prop "intro-elim:3:b" "log-prop-prop:2" "rule-ui:1" by blast + next + fix p + AOT_assume \s \ p\ + AOT_hence \\{p}\ + using "intro-elim:3:a" "log-prop-prop:2" "rule-ui:1" s_prop by blast + AOT_thus \x \ p\ + using "1" "con-dis-i-e:2:b" "intro-elim:3:b" "log-prop-prop:2" "rule-ui:1" by blast + qed + qed + qed +qed + AOT_define NullSituation :: \\ \ \\ (\NullSituation'(_')\) "df-null-trivial:1": \NullSituation(s) \\<^sub>d\<^sub>f \\p s \ p\ @@ -1741,6 +1776,22 @@ AOT_define NecImpl :: \\ \ \ \ \\\ \ \ \ \\ (infixl \\\ 21) "nec-impl-p:2": \p \ q \\<^sub>d\<^sub>f (p \ q) & (q \ p)\ +AOT_theorem "nec-impl-p:3[rec]": \p \ p\ + by (safe intro!: "nec-impl-p:1"[THEN "\\<^sub>d\<^sub>fI"] RN "\I") + +AOT_theorem "nec-impl-p:3[trans]": \((p \ q) & (q \ r)) \ p \ r\ +proof (safe intro!: "nec-impl-p:1"[THEN "\\<^sub>d\<^sub>fI"] "\I") + AOT_assume \(p \ q) & (q \ r)\ + AOT_hence \\((p \ q) & (q \ r))\ + by (metis "KBasic:3" "\\<^sub>d\<^sub>fE" "con-dis-i-e:1" "con-dis-i-e:2:a" "con-dis-i-e:2:b" "intro-elim:3:b" "nec-impl-p:1") + moreover AOT_modally_strict { + AOT_have \((p \ q) & (q \ r)) \ (p \ r)\ + by (metis "con-dis-i-e:2:a" "con-dis-i-e:2:b" "deduction-theorem" "vdash-properties:10") + } + ultimately AOT_show \\(p \ r)\ + using "RM:1" "\E" by blast +qed + AOT_theorem "nec-equiv-nec-im": \p \ q \ \(p \ q)\ proof(safe intro!: "\I" "\I") AOT_assume \p \ q\ @@ -3276,7 +3327,7 @@ AOT_theorem "rigid-rel-thms:3": \Rigid(F) \ \x\<^sub>1...\< AOT_subst_thm "rigid-rel-thms:2") (simp add: "oth-class-taut:3:a") -AOT_theorem \Possible(s) \ \w(s \ w)\ +AOT_theorem "poss-sit-part-w:1": \Possible(s) \ \w(s \ w)\ proof(safe intro!: "\I" "\I") AOT_assume \Possible(s)\ AOT_hence \\Actual(s)\ @@ -3340,6 +3391,9 @@ next by(safe intro!: "pos"[THEN "\\<^sub>d\<^sub>fI"] "&I" "Situation.\") qed +AOT_define GapOn :: \\ \ \ \ \\ (\GapOn'(_,_')\) + "routley-star:5": \GapOn(s,p) \\<^sub>d\<^sub>f \s \ p & \s \ \p\ + (*<*) end (*>*)