equal
deleted
inserted
replaced
3 *) |
3 *) |
4 |
4 |
5 section \<open>Some examples for Presburger Arithmetic\<close> |
5 section \<open>Some examples for Presburger Arithmetic\<close> |
6 |
6 |
7 theory PresburgerEx |
7 theory PresburgerEx |
8 imports Presburger |
8 imports HOL.Presburger |
9 begin |
9 begin |
10 |
10 |
11 lemma "\<And>m n ja ia. \<lbrakk>\<not> m \<le> j; \<not> (n::nat) \<le> i; (e::nat) \<noteq> 0; Suc j \<le> ja\<rbrakk> \<Longrightarrow> \<exists>m. \<forall>ja ia. m \<le> ja \<longrightarrow> (if j = ja \<and> i = ia then e else 0) = 0" by presburger |
11 lemma "\<And>m n ja ia. \<lbrakk>\<not> m \<le> j; \<not> (n::nat) \<le> i; (e::nat) \<noteq> 0; Suc j \<le> ja\<rbrakk> \<Longrightarrow> \<exists>m. \<forall>ja ia. m \<le> ja \<longrightarrow> (if j = ja \<and> i = ia then e else 0) = 0" by presburger |
12 lemma "(0::nat) < emBits mod 8 \<Longrightarrow> 8 + emBits div 8 * 8 - emBits = 8 - emBits mod 8" |
12 lemma "(0::nat) < emBits mod 8 \<Longrightarrow> 8 + emBits div 8 * 8 - emBits = 8 - emBits mod 8" |
13 by presburger |
13 by presburger |