lean2/tests/lean/run/occurs_check_bug1.lean

18 lines
479 B
Text
Raw Normal View History

import logic data.nat data.prod
using nat prod
using decidable
variable modulo (x : ) (y : ) :
infixl `mod`:70 := modulo
variable gcd_aux : ×
definition gcd (x y : ) : := gcd_aux (pair x y)
theorem gcd_def (x y : ) : gcd x y = @ite (y = 0) (decidable_eq (pr2 (pair x y)) 0) nat x (gcd y (x mod y)) :=
sorry
theorem gcd_succ (m n : ) : gcd m (succ n) = gcd (succ n) (m mod succ n) :=
trans (gcd_def _ _) (if_neg (succ_ne_zero n) _ _)