]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/library/nat/orders.ma
ported to new syntactic requirement about terms being surrounded by parens
[helm.git] / helm / matita / library / nat / orders.ma
index 796567fa59ae31483de19312a03f49520b73e96c..0ddd4b5c59571e69b8fe995151356085ef283604 100644 (file)
@@ -94,8 +94,8 @@ simplify.apply le_n_Sn.
 qed.
 
 theorem le_S_S_to_le : \forall n,m:nat. S n \leq S m \to n \leq m.
-intros.change with pred (S n) \leq pred (S m).
-elim H.apply le_n.apply trans_le ? (pred n1).assumption.
+intros.change with (pred (S n) \leq pred (S m)).
+elim H.apply le_n.apply (trans_le ? (pred n1)).assumption.
 apply le_pred_n.
 qed.
 
@@ -105,11 +105,11 @@ qed.
 
 (* not le *)
 theorem not_le_Sn_O: \forall n:nat. S n \nleq O.
-intros.simplify.intros.apply leS_to_not_zero ? ? H.
+intros.simplify.intros.apply (leS_to_not_zero ? ? H).
 qed.
 
 theorem not_le_Sn_n: \forall n:nat. S n \nleq n.
-intros.elim n.apply not_le_Sn_O.simplify.intros.cut S n1 \leq n1.
+intros.elim n.apply not_le_Sn_O.simplify.intros.cut (S n1 \leq n1).
 apply H.assumption.
 apply le_S_S_to_le.assumption.
 qed.
@@ -124,7 +124,7 @@ qed.
 
 (* not eq *)
 theorem lt_to_not_eq : \forall n,m:nat. n<m \to n \neq m.
-simplify.intros.cut (le (S n) m) \to False.
+simplify.intros.cut ((le (S n) m) \to False).
 apply Hcut.assumption.rewrite < H1.
 apply not_le_Sn_n.
 qed.
@@ -143,8 +143,8 @@ qed.
 
 theorem not_le_to_lt: \forall n,m:nat. n \nleq m \to m<n.
 intros 2.
-apply nat_elim2 (\lambda n,m.n \nleq m \to m<n).
-intros.apply absurd (O \leq n1).apply le_O_n.assumption.
+apply (nat_elim2 (\lambda n,m.n \nleq m \to m<n)).
+intros.apply (absurd (O \leq n1)).apply le_O_n.assumption.
 simplify.intros.apply le_S_S.apply le_O_n.
 simplify.intros.apply le_S_S.apply H.intros.apply H1.apply le_S_S.
 assumption.
@@ -152,7 +152,7 @@ qed.
 
 theorem lt_to_not_le: \forall n,m:nat. n<m \to m \nleq n.
 simplify.intros 3.elim H.
-apply not_le_Sn_n n H1.
+apply (not_le_Sn_n n H1).
 apply H2.apply lt_to_le. apply H3.
 qed.
 
@@ -164,7 +164,7 @@ qed.
 
 theorem le_to_not_lt: \forall n,m:nat. le n m \to Not (lt m n).
 intros.
-change with Not (le (S m) n).
+change with (Not (le (S m) n)).
 apply lt_to_not_le.simplify.
 apply le_S_S.assumption.
 qed.
@@ -205,22 +205,22 @@ apply lt_to_le.assumption.
 qed.
 
 theorem ltn_to_ltO: \forall n,m:nat. lt n m \to lt O m.
-intros.apply le_to_lt_to_lt O n.
+intros.apply (le_to_lt_to_lt O n).
 apply le_O_n.assumption.
 qed.
 
 theorem lt_O_n_elim: \forall n:nat. lt O n \to 
 \forall P:nat\to Prop. (\forall m:nat.P (S m)) \to P n.
-intro.elim n.apply False_ind.exact not_le_Sn_O O H.
+intro.elim n.apply False_ind.exact (not_le_Sn_O O H).
 apply H2.
 qed.
 
 (* other abstract properties *)
 theorem antisymmetric_le : antisymmetric nat le.
 simplify.intros 2.
-apply nat_elim2 (\lambda n,m.(n \leq m \to m \leq n \to n=m)).
+apply (nat_elim2 (\lambda n,m.(n \leq m \to m \leq n \to n=m))).
 intros.apply le_n_O_to_eq.assumption.
-intros.apply False_ind.apply not_le_Sn_O ? H.
+intros.apply False_ind.apply (not_le_Sn_O ? H).
 intros.apply eq_f.apply H.
 apply le_S_S_to_le.assumption.
 apply le_S_S_to_le.assumption.
@@ -231,31 +231,31 @@ theorem antisym_le: \forall n,m:nat. n \leq m \to m \leq n \to n=m
 
 theorem decidable_le: \forall n,m:nat. decidable (n \leq m).
 intros.
-apply nat_elim2 (\lambda n,m.decidable (n \leq m)).
+apply (nat_elim2 (\lambda n,m.decidable (n \leq m))).
 intros.simplify.left.apply le_O_n.
-intros.simplify.right.exact not_le_Sn_O n1.
+intros.simplify.right.exact (not_le_Sn_O n1).
 intros 2.simplify.intro.elim H.
 left.apply le_S_S.assumption.
 right.intro.apply H1.apply le_S_S_to_le.assumption.
 qed.
 
 theorem decidable_lt: \forall n,m:nat. decidable (n < m).
-intros.exact decidable_le (S n) m.
+intros.exact (decidable_le (S n) m).
 qed.
 
 (* well founded induction principles *)
 
 theorem nat_elim1 : \forall n:nat.\forall P:nat \to Prop. 
 (\forall m.(\forall p. (p \lt m) \to P p) \to P m) \to P n.
-intros.cut \forall q:nat. q \le n \to P q.
-apply Hcut n.apply le_n.
-elim n.apply le_n_O_elim q H1.
+intros.cut (\forall q:nat. q \le n \to P q).
+apply (Hcut n).apply le_n.
+elim n.apply (le_n_O_elim q H1).
 apply H.
-intros.apply False_ind.apply not_le_Sn_O p H2.
+intros.apply False_ind.apply (not_le_Sn_O p H2).
 apply H.intros.apply H1.
-cut p < S n1.
+cut (p < S n1).
 apply lt_S_to_le.assumption.
-apply lt_to_le_to_lt p q (S n1) H3 H2.
+apply (lt_to_le_to_lt p q (S n1) H3 H2).
 qed.
 
 (* some properties of functions *)
@@ -266,8 +266,8 @@ definition increasing \def \lambda f:nat \to nat.
 theorem increasing_to_monotonic: \forall f:nat \to nat.
 increasing f \to monotonic nat lt f.
 simplify.intros.elim H1.apply H.
-apply trans_le ? (f n1).
-assumption.apply trans_le ? (S (f n1)).
+apply (trans_le ? (f n1)).
+assumption.apply (trans_le ? (S (f n1))).
 apply le_n_Sn.
 apply H.
 qed.
@@ -276,7 +276,7 @@ theorem le_n_fn: \forall f:nat \to nat. (increasing f)
 \to \forall n:nat. n \le (f n).
 intros.elim n.
 apply le_O_n.
-apply trans_le ? (S (f n1)).
+apply (trans_le ? (S (f n1))).
 apply le_S_S.apply H1.
 simplify in H. apply H.
 qed.
@@ -284,10 +284,10 @@ qed.
 theorem increasing_to_le: \forall f:nat \to nat. (increasing f) 
 \to \forall m:nat. \exists i. m \le (f i).
 intros.elim m.
-apply ex_intro ? ? O.apply le_O_n.
+apply (ex_intro ? ? O).apply le_O_n.
 elim H1.
-apply ex_intro ? ? (S a).
-apply trans_le ? (S (f a)).
+apply (ex_intro ? ? (S a)).
+apply (trans_le ? (S (f a))).
 apply le_S_S.assumption.
 simplify in H.
 apply H.
@@ -297,14 +297,14 @@ theorem increasing_to_le2: \forall f:nat \to nat. (increasing f)
 \to \forall m:nat. (f O) \le m \to 
 \exists i. (f i) \le m \land m <(f (S i)).
 intros.elim H1.
-apply ex_intro ? ? O.
+apply (ex_intro ? ? O).
 split.apply le_n.apply H.
 elim H3.elim H4.
-cut (S n1) < (f (S a)) \lor (S n1) = (f (S a)).
+cut ((S n1) < (f (S a)) \lor (S n1) = (f (S a))).
 elim Hcut.
-apply ex_intro ? ? a.
+apply (ex_intro ? ? a).
 split.apply le_S. assumption.assumption.
-apply ex_intro ? ? (S a).
+apply (ex_intro ? ? (S a)).
 split.rewrite < H7.apply le_n.
 rewrite > H7.
 apply H.