match nat_compare m n with
[ LT \Rightarrow (neg (pred (n-m)))
| EQ \Rightarrow OZ
- | GT \Rightarrow (pos (pred (m-n)))]]
+ | GT \Rightarrow (pos (pred (m-n)))] ]
| (neg m) \Rightarrow
match y with
[ OZ \Rightarrow x
[ LT \Rightarrow (pos (pred (n-m)))
| EQ \Rightarrow OZ
| GT \Rightarrow (neg (pred (m-n)))]
- | (neg n) \Rightarrow (neg (pred ((S m)+(S n))))]].
+ | (neg n) \Rightarrow (neg (pred ((S m)+(S n))))] ].
(*CSC: the URI must disappear: there is a bug now *)
interpretation "integer plus" 'plus x y = (cic:/matita/Z/plus/Zplus.con x y).
| false \Rightarrow
match m with
[ O \Rightarrow n
- | (S p) \Rightarrow gcd_aux (S p) n (S p) ]] \divides m
+ | (S p) \Rightarrow gcd_aux (S p) n (S p) ] ] \divides m
\land
match leb n m with
[ true \Rightarrow
| false \Rightarrow
match m with
[ O \Rightarrow n
- | (S p) \Rightarrow gcd_aux (S p) n (S p) ]] \divides n.
+ | (S p) \Rightarrow gcd_aux (S p) n (S p) ] ] \divides n.
apply leb_elim n m.
apply nat_case1 n.
simplify.intros.split.
[ O \Rightarrow pair nat nat O n
| (S p) \Rightarrow
match (p_ord_aux p (n / m) m) with
- [ (pair q r) \Rightarrow pair nat nat (S q) r]]
+ [ (pair q r) \Rightarrow pair nat nat (S q) r] ]
| (S a) \Rightarrow pair nat nat O n].
(* p_ord n m = <q,r> if m divides n q times, with remainder r *)