Changeset 2608 for src/common/Pointers.ma
- Timestamp:
- Feb 6, 2013, 1:01:34 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/common/Pointers.ma
r2569 r2608 1 1 include "ASM/BitVectorZ.ma". 2 include "common/AST.ma". (* For the regions*)2 include "common/AST.ma". (* For the /s/regions/size_pointer/ *) 3 3 include "utilities/extralib.ma". 4 include "basics/deqsets.ma". 4 5 5 6 … … 20 21 21 22 record block : Type[0] ≝ 22 { block_region : region23 ;block_id : Z23 { (* block_region : region ; *) 24 block_id : Z 24 25 }. 26 27 definition block_region : block → region ≝ 28 λb. 29 if Zltb (block_id b) OZ then 30 Code 31 else 32 XData. 25 33 26 34 definition eq_block ≝ 27 35 λb1,b2. 28 eq_region (block_region b1) (block_region b2) ∧ 36 (* eq_region (block_region b1) (block_region b2) ∧*) 29 37 eqZb (block_id b1) (block_id b2) 30 38 . … … 33 41 (b1 = b2 → P true) → (b1 ≠ b2 → P false) → 34 42 P (eq_block b1 b2). 43 #P * #i1 *#i2 #H1 #H2 whd in match (eq_block ??); 44 @(eqZb_elim … i1 i2) 45 [ #H @H1 >H @refl 46 | * #Hneq @H2 % #H @Hneq destruct (H) @refl ] 47 qed. 48 (* 35 49 #P * #r1 #i1 * #r2 #i2 #H1 #H2 36 50 whd in ⊢ (?%); @eq_region_elim #H3 37 51 [ whd in ⊢ (?%); @eqZb_elim [ /2/ | * #NE @H2 % #E @NE destruct % ] 38 52 | @H2 % #E destruct elim H3 /2/ 39 ] qed. 53 ] qed. *) 40 54 41 55 lemma eq_block_b_b : ∀b. eq_block b b = true. 42 * *#z whd in ⊢ (??%?); >eqZb_z_z @refl56 * #z whd in ⊢ (??%?); >eqZb_z_z @refl 43 57 qed. 44 58
Note: See TracChangeset
for help on using the changeset viewer.