equal
deleted
inserted
replaced
279 "(z1::preal) + (z2 + z3) = z2 + (z1 + z3)" |
279 "(z1::preal) + (z2 + z3) = z2 + (z1 + z3)" |
280 (fn _ => [rtac (preal_add_commute RS trans) 1, rtac (preal_add_assoc RS trans) 1, |
280 (fn _ => [rtac (preal_add_commute RS trans) 1, rtac (preal_add_assoc RS trans) 1, |
281 rtac (preal_add_commute RS arg_cong) 1]); |
281 rtac (preal_add_commute RS arg_cong) 1]); |
282 |
282 |
283 (* Positive Reals addition is an AC operator *) |
283 (* Positive Reals addition is an AC operator *) |
284 val preal_add_ac = [preal_add_assoc, preal_add_commute, preal_add_left_commute]; |
284 bind_thms ("preal_add_ac", [preal_add_assoc, preal_add_commute, preal_add_left_commute]); |
285 |
285 |
286 (*** Properties of multiplication ***) |
286 (*** Properties of multiplication ***) |
287 |
287 |
288 (** Proofs essentially same as for addition **) |
288 (** Proofs essentially same as for addition **) |
289 |
289 |
365 (fn _ => [rtac (preal_mult_commute RS trans) 1, |
365 (fn _ => [rtac (preal_mult_commute RS trans) 1, |
366 rtac (preal_mult_assoc RS trans) 1, |
366 rtac (preal_mult_assoc RS trans) 1, |
367 rtac (preal_mult_commute RS arg_cong) 1]); |
367 rtac (preal_mult_commute RS arg_cong) 1]); |
368 |
368 |
369 (* Positive Reals multiplication is an AC operator *) |
369 (* Positive Reals multiplication is an AC operator *) |
370 val preal_mult_ac = [preal_mult_assoc, |
370 bind_thms ("preal_mult_ac", [preal_mult_assoc, |
371 preal_mult_commute, |
371 preal_mult_commute, |
372 preal_mult_left_commute]; |
372 preal_mult_left_commute]); |
373 |
373 |
374 (* Positive Real 1 is the multiplicative identity element *) |
374 (* Positive Real 1 is the multiplicative identity element *) |
375 (* long *) |
375 (* long *) |
376 Goalw [preal_of_prat_def,preal_mult_def] |
376 Goalw [preal_of_prat_def,preal_mult_def] |
377 "(preal_of_prat (prat_of_pnat (Abs_pnat 1))) * z = z"; |
377 "(preal_of_prat (prat_of_pnat (Abs_pnat 1))) * z = z"; |
744 Goalw [preal_le_def,psubset_def,preal_less_def] |
744 Goalw [preal_le_def,psubset_def,preal_less_def] |
745 "z<=w ==> ~(w<(z::preal))"; |
745 "z<=w ==> ~(w<(z::preal))"; |
746 by (auto_tac (claset() addDs [equalityI],simpset())); |
746 by (auto_tac (claset() addDs [equalityI],simpset())); |
747 qed "preal_leD"; |
747 qed "preal_leD"; |
748 |
748 |
749 val preal_leE = make_elim preal_leD; |
749 bind_thm ("preal_leE", make_elim preal_leD); |
750 |
750 |
751 Goalw [preal_le_def,psubset_def,preal_less_def] |
751 Goalw [preal_le_def,psubset_def,preal_less_def] |
752 "~ z <= w ==> w<(z::preal)"; |
752 "~ z <= w ==> w<(z::preal)"; |
753 by (cut_inst_tac [("r1.0","w"),("r2.0","z")] preal_linear 1); |
753 by (cut_inst_tac [("r1.0","w"),("r2.0","z")] preal_linear 1); |
754 by (auto_tac (claset(),simpset() addsimps [preal_less_def,psubset_def])); |
754 by (auto_tac (claset(),simpset() addsimps [preal_less_def,psubset_def])); |