-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathAutomation.thy
29 lines (21 loc) · 973 Bytes
/
Automation.thy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
theory Automation
imports Main
begin
lemma "\<forall>x. \<exists>y. x = y"
by auto
lemma "A \<subseteq> B \<inter> C \<Longrightarrow> A \<subseteq> B \<union> C"
by auto
lemma "\<lbrakk> \<forall>xs \<in> A. \<exists>ys. xs = ys @ ys; us \<in> A \<rbrakk> \<Longrightarrow> \<exists>n. length us = n + n"
by fastforce
lemma "\<lbrakk> \<forall>x y. T x y \<or> T y x;
\<forall>x y. A x y \<and> A y x \<longrightarrow> x = y;
\<forall>x y. T x y \<longrightarrow> A x y\<rbrakk>
\<Longrightarrow> \<forall>x y. A x y \<longrightarrow> T x y"
by blast
lemma "\<lbrakk> xs @ ys = ys @ xs; length xs = length ys \<rbrakk> \<Longrightarrow> xs = ys"
using append_eq_append_conv by blast
lemma "\<lbrakk> (a::nat) \<le> x + b; 2*x < c\<rbrakk> \<Longrightarrow> 2*a + 1 \<le> 2*b + c"
by arith
lemma "\<lbrakk> (a::nat) \<le> b; b \<le> c; c \<le> d; d \<le> e\<rbrakk> \<Longrightarrow> a \<le> e"
by (blast intro: le_trans)
end