Changeset 891 for src/utilities/binary
- Timestamp:
- Jun 7, 2011, 4:53:53 PM (10 years ago)
- Location:
- src/utilities/binary
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/utilities/binary/Z.ma
r697 r891 333 333 |#n cases y; 334 334 [@nmk #H elim (not_eq_OZ_pos n);#H2 /2/; 335 |#m @eqb_elim335 |#m normalize @eqb_elim 336 336 [// 337 337 | * #H % #H' @H @(match H' return λx.λ_.n=match x with [pos m ⇒ m | neg m ⇒ m | OZ ⇒ one ] with [refl ⇒ ?]) // … … 341 341 [@nmk #H elim (not_eq_OZ_neg n);#H /2/; 342 342 |#m @nmk #H destruct 343 |#m @eqb_elim343 |#m normalize @eqb_elim 344 344 [// 345 345 | * #H % #H' @H @(match H' return λx.λ_.n=match x with [pos m ⇒ m | neg m ⇒ m | OZ ⇒ one ] with [refl ⇒ ?]) // … … 458 458 459 459 theorem sym_Zplus : ∀x,y:Z. x+y = y+x. 460 #x #y cases x ;461 [> (Zplus_z_OZ ?) (*XXX*)//460 #x #y cases x 461 [>Zplus_z_OZ // 462 462 |#p cases y 463 463 [// 464 | normalize;//465 |#q normalize;>(pos_compare_n_m_m_n ??) (*XXX*)464 |// 465 |#q whd in ⊢ (??%%) >pos_compare_n_m_m_n 466 466 cases (pos_compare q p);//] 467 467 |#p cases y 468 468 [//; 469 |#q normalize;>(pos_compare_n_m_m_n ??) (*XXX*)469 |#q whd in ⊢ (??%%) >pos_compare_n_m_m_n 470 470 cases (pos_compare q p);// 471 471 |normalize;//] … … 503 503 ∀n,m. (pos n)+(neg m) = (Zsucc (pos n))+(Zpred (neg m)). 504 504 #n #m 505 normalize; 505 whd in ⊢ (??%%) 506 506 <(pos_compare_S_S …) 507 >( partialminus_S_S …)508 >( partialminus_S_S …) //;507 >(minus_S_S …) 508 >(minus_S_S …) //; 509 509 qed. 510 510 … … 521 521 #n #m @(pos_cases … n) @(pos_cases … m) 522 522 [ //; 523 | #m' >(Zpred_pos_succ …) 524 >(?:pos (succ m') = Zsucc (pos m')) //; 525 | #m' normalize; >(pos_compare_S_one …) normalize; 526 >(partial_minus_S_one …) normalize; >(pos_nonzero …) 527 <(pred_succ_n …) //; 528 | #m' #n' normalize; <(pos_compare_S_S …) 529 >(partialminus_S_S …) 530 >(partialminus_S_S …) 531 >(pos_nonzero …) 532 >(pos_nonzero …) 533 <(pred_succ_n …) 534 <(pred_succ_n …) 523 | #m' >Zpred_pos_succ 524 change in ⊢ (??(??%)?) with (Zsucc (pos m')) 525 <Zpred_Zplus_neg_O >Zpred_Zsucc @refl 526 | #m' whd in ⊢ (??%%) >pos_compare_S_one normalize; 527 >partial_minus_S_one normalize; >pos_nonzero 528 <pred_succ_n // 529 | #m' #n' whd in ⊢ (??%%) <pos_compare_S_S 530 >minus_S_S 531 >minus_S_S normalize 532 >pos_nonzero 533 >pos_nonzero 534 <pred_succ_n 535 <pred_succ_n 535 536 normalize; //; 536 537 ] qed. … … 600 601 601 602 lemma neg_pos_succ: ∀n,m:Pos. neg (succ n) + pos (succ m) = neg n + pos m. 602 #n #m normalize; <(pos_compare_S_S …) 603 >(partialminus_S_S …) 604 >(partialminus_S_S …) 603 #n #m whd in ⊢ (??%%) <pos_compare_S_S 604 >minus_S_S >minus_S_S 605 605 //; qed. 606 606 … … 676 676 #x #y cases x 677 677 [cases y;// 678 |*:#n cases y;//;#m normalize;@pos_compare_elim normalize;//]678 |*:#n cases y;//;#m whd in ⊢ (??(?%)%) @pos_compare_elim normalize;//] 679 679 qed. 680 680 … … 686 686 #x cases x 687 687 [// 688 |*:#n normalize;>(pos_compare_n_n ?)//]688 |*:#n whd in ⊢ (??%?) >pos_compare_n_n //] 689 689 qed. 690 690 -
src/utilities/binary/positive.ma
r697 r891 1095 1095 [ LT ⇒ n < m 1096 1096 | EQ ⇒ n = m 1097 | GT ⇒ m < n ]) ?????) (* FIXME: don't want to put all these ?, especially when … does not work! *)1097 | GT ⇒ m < n ])) 1098 1098 [1,2:@pos_cases 1099 1099 [ 1,3: /2/; 1100 1100 | 2,4: #m' cases m'; //; 1101 1101 ] 1102 |#n1 #m1 normalize;<(pos_compare_S_S …) cases (pos_compare n1 m1); 1103 [1,3:normalize;#IH @le_succ_succ //; 1104 |normalize;#IH >IH //] 1102 |#n1 #m1 <pos_compare_S_S cases (pos_compare n1 m1) 1103 [1,3: #IH @le_succ_succ // 1104 | #IH >IH // 1105 ] 1106 ] 1105 1107 qed. 1106 1108
Note: See TracChangeset
for help on using the changeset viewer.