Quellcode-Bibliothek
© Kompilation durch diese Firma
[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]
Datei:
Force.thy
Sprache: Unknown
theory Force imports Main begin
(*Use Divides rather than Main to experiment with the first proof.
Otherwise, it is done by the nat_divide_cancel_factor simprocs.*)
declare div_mult_self_is_m [simp del]
lemma div_mult_self_is_m:
"0 (m*n) div n = (m::nat)"
apply (insert div_mult_mod_eq [of "m*n" n])
apply simp
done
lemma "(\x. P x) \ (\x. Q x) \ (\x. P x \ Q x)"
apply clarify
oops
text \<open>
proof\ {\isacharparenleft}prove{\isacharparenright}{\isacharcolon}\ step\ {\isadigit{1}}\isanewline
\isanewline
goal\ {\isacharparenleft}lemma{\isacharparenright}{\isacharcolon}\isanewline
{\isacharparenleft}{\isasymforall}x{\isachardot}\ P\ x{\isacharparenright}\ {\isasymand}\ {\isacharparenleft}{\isasymexists}x{\isachardot}\ Q\ x{\isacharparenright}\ {\isasymlongrightarrow}\ {\isacharparenleft}{\isasymforall}x{\isachardot}\ P\ x\ {\isasymand}\ Q\ x{\isacharparenright}\isanewline
\ {\isadigit{1}}{\isachardot}\ {\isasymAnd}x\ xa{\isachardot}\ {\isasymlbrakk}{\isasymforall}x{\isachardot}\ P\ x{\isacharsemicolon}\ Q\ xa{\isasymrbrakk}\ {\isasymLongrightarrow}\ P\ x\ {\isasymand}\ Q\ x
\<close>
text \<open>
couldn't find a good example of clarsimp
@{thm[display]"someI"}
\rulename{someI}
\<close>
lemma "\Q a; P a\ \ P (SOME x. P x \ Q x) \ Q (SOME x. P x \ Q x)"
apply (rule someI)
oops
lemma "\Q a; P a\ \ P (SOME x. P x \ Q x) \ Q (SOME x. P x \ Q x)"
apply (fast intro!: someI)
done
text\<open>
proof\ {\isacharparenleft}prove{\isacharparenright}{\isacharcolon}\ step\ \isadigit{1}\isanewline
\isanewline
goal\ {\isacharparenleft}lemma{\isacharparenright}{\isacharcolon}\isanewline
{\isasymlbrakk}Q\ a{\isacharsemicolon}\ P\ a{\isasymrbrakk}\ {\isasymLongrightarrow}\ P\ {\isacharparenleft}SOME\ x{\isachardot}\ P\ x\ {\isasymand}\ Q\ x{\isacharparenright}\ {\isasymand}\ Q\ {\isacharparenleft}SOME\ x{\isachardot}\ P\ x\ {\isasymand}\ Q\ x{\isacharparenright}\isanewline
\ \isadigit{1}{\isachardot}\ {\isasymlbrakk}Q\ a{\isacharsemicolon}\ P\ a{\isasymrbrakk}\ {\isasymLongrightarrow}\ P\ {\isacharquery}x\ {\isasymand}\ Q\ {\isacharquery}x
\<close>
end
[ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
]
|