parse_translation\<open>[(\<^syntax_const>\<open>_Trueprop\<close>, K (two_seq_tr \<^const_syntax>\<open>Trueprop\<close>))]\<close> print_translation\<open>[(\<^const_syntax>\<open>Trueprop\<close>, K (two_seq_tr' \<^syntax_const>\<open>_Trueprop\<close>))]\<close>
abbreviation
not_equal (infixl\<open>\<noteq>\<close> 50) where "x \ y \ \ (x = y)"
definitionIf :: "[o, 'a, 'a] \ 'a" (\(\notation=\mixfix if then else\\if (_)/ then (_)/ else (_))\ 10) where"If(P,x,y) \ THE z::'a. (P \ z = x) \ (\ P \ z = y)"
lemma exchR: "$H \ $E, Q, P, $F \ $H \ $E, P, Q, $F" by (rule exchRS)
lemma exchL: "$H, Q, P, $G \ $E \ $H, P, Q, $G \ $E" by (rule exchLS)
ML \<open> (*Cut and thin, replacing the right-side formula*) fun cutR_tac ctxt s i =
Rule_Insts.res_inst_tac ctxt [((("P", 0), Position.none), s)] [] @{thm cut} i THEN
resolve_tac ctxt @{thms thinR} i
(*Cut and thin, replacing the left-side formula*) fun cutL_tac ctxt s i =
Rule_Insts.res_inst_tac ctxt [((("P", 0), Position.none), s)] [] @{thm cut} i THEN
resolve_tac ctxt @{thms thinL} (i + 1) \<close>
lemma sym: "\ a = b \ b = a" by (safe add!: subst)
lemma trans: "\ a = b \ b = c \ a = c" by (safe add!: subst)
(* Symmetry of equality in hypotheses *) lemmas symL = sym [THEN L_of_imp]
(* Symmetry of equality in hypotheses *) lemmas symR = sym [THEN R_of_imp]
lemma transR: "\$H\ $E, $F, a = b; $H\ $E, $F, b=c\ \ $H\ $E, a = c, $F" by (rule trans [THEN R_of_imp, THEN mp_R])
(* Two theorms for rewriting only one instance of a definition:
the first for definitions of formulae and the second for terms *)
lemma def_imp_iff: "(A \ B) \ \ A \ B" apply unfold apply (rule iff_refl) done
lemma meta_eq_to_obj_eq: "(A \ B) \ \ A = B" apply unfold apply (rule refl) done
(** if-then-else rules **)
lemma if_True: "\ (if True then x else y) = x" unfolding If_def by fast
lemma if_False: "\ (if False then x else y) = y" unfolding If_def by fast
lemma if_P: "\ P \ \ (if P then x else y) = x" apply (unfold If_def) apply (erule thinR [THEN cut]) apply fast done
lemma if_not_P: "\ \ P \ \ (if P then x else y) = y" apply (unfold If_def) apply (erule thinR [THEN cut]) apply fast done
end
¤ 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.0.17Bemerkung:
(vorverarbeitet)
¤
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 ist noch experimentell.