src/HOL/Word/Bit_Representation.thy
changeset 45856 caa99836aed8
parent 45855 b49cffac6c97
child 45952 ed9cc0634aaf
equal deleted inserted replaced
45855:b49cffac6c97 45856:caa99836aed8
   377   by (induct n) (auto simp add: Int.Pls_def)
   377   by (induct n) (auto simp add: Int.Pls_def)
   378 
   378 
   379 lemma sbintrunc_n_0 [simp]: "sbintrunc n 0 = 0"
   379 lemma sbintrunc_n_0 [simp]: "sbintrunc n 0 = 0"
   380   by (induct n) (auto simp add: Int.Pls_def)
   380   by (induct n) (auto simp add: Int.Pls_def)
   381 
   381 
       
   382 lemma sbintrunc_n_minus1 [simp]: "sbintrunc n -1 = -1"
       
   383   by (induct n) (auto, simp add: number_of_is_id)
       
   384 
   382 lemma bintrunc_Suc_numeral:
   385 lemma bintrunc_Suc_numeral:
   383   "bintrunc (Suc n) 1 = 1"
   386   "bintrunc (Suc n) 1 = 1"
   384   "bintrunc (Suc n) -1 = bintrunc n -1 BIT 1"
   387   "bintrunc (Suc n) -1 = bintrunc n -1 BIT 1"
   385   "bintrunc (Suc n) (number_of (Int.Bit0 w)) = bintrunc n (number_of w) BIT 0"
   388   "bintrunc (Suc n) (number_of (Int.Bit0 w)) = bintrunc n (number_of w) BIT 0"
   386   "bintrunc (Suc n) (number_of (Int.Bit1 w)) = bintrunc n (number_of w) BIT 1"
   389   "bintrunc (Suc n) (number_of (Int.Bit1 w)) = bintrunc n (number_of w) BIT 1"
   387   by simp_all
   390   by simp_all
   388 
   391 
       
   392 lemma sbintrunc_0_numeral [simp]:
       
   393   "sbintrunc 0 1 = -1"
       
   394   "sbintrunc 0 (number_of (Int.Bit0 w)) = 0"
       
   395   "sbintrunc 0 (number_of (Int.Bit1 w)) = -1"
       
   396   by (simp_all, unfold Pls_def number_of_is_id, simp_all)
       
   397 
   389 lemma sbintrunc_Suc_numeral:
   398 lemma sbintrunc_Suc_numeral:
   390   "sbintrunc (Suc n) 1 = 1"
   399   "sbintrunc (Suc n) 1 = 1"
   391   "sbintrunc (Suc n) -1 = sbintrunc n -1 BIT 1"
       
   392   "sbintrunc (Suc n) (number_of (Int.Bit0 w)) = sbintrunc n (number_of w) BIT 0"
   400   "sbintrunc (Suc n) (number_of (Int.Bit0 w)) = sbintrunc n (number_of w) BIT 0"
   393   "sbintrunc (Suc n) (number_of (Int.Bit1 w)) = sbintrunc n (number_of w) BIT 1"
   401   "sbintrunc (Suc n) (number_of (Int.Bit1 w)) = sbintrunc n (number_of w) BIT 1"
   394   by simp_all
   402   by simp_all
   395 
   403 
   396 lemma bit_bool:
   404 lemma bit_bool: