*)
(* some basic properties of and - or*)
-theorem andb_sym: \forall A,B:bool.
+(*theorem andb_sym: \forall A,B:bool.
(A \land B) = (B \land A).
intros.
elim A;
rewrite > H2.
reflexivity.
qed.
-
+*)
(*properties about relational operators*)
theorem Sa_le_b_to_O_lt_b: \forall a,b:nat.
apply lt_O_S.
qed.
+
theorem n_gt_Uno_to_O_lt_pred_n: \forall n:nat.
(S O) \lt n \to O \lt (pred n).
intros.
[ assumption
| rewrite > (sym_times c (a/c)).
rewrite > (NdivM_times_M_to_N a c) in \vdash (? % ?)
- [ rewrite < (sym_times a c).
- apply (O_lt_const_to_le_times_const).
+ [ apply (le_times_n c a ?).
assumption
| assumption
| assumption
]
qed.
-(*
-theorem div_times_to_eqSO: \forall a,d:nat.
-O \lt d \to a*d = d \to a = (S O).
-intros.
-apply (inj_times_r1 d)
-[ assumption
-| rewrite > sym_times.
- rewrite < (times_n_SO d).
- assumption
-]
-qed.*)
-
theorem div_mod_minus:
\forall a,b:nat. O \lt b \to
]
qed.
-(*
-theorem sum_div_eq_div: \forall a,b,c:nat.
-O \lt c \to b \lt c \to c \divides a \to (a+b) /c = a/c.
-intros.
-elim H2.
-rewrite > H3.
-rewrite > (sym_times c n2).
-rewrite > (div_plus_times c n2 b)
-[ rewrite > (div_times_ltO n2 c)
- [ reflexivity
- | assumption
- ]
-| assumption
-]
-qed.
-*)
(* A corollary to the division theorem (between natural numbers).
*