lean2/tests/lean/run/record1.lean

48 lines
833 B
Text

import logic data.unit
structure point (A : Type) (B : Type) :=
mk :: (x : A) (y : B)
check point
check @ point.rec
check point.mk
check point.x
check point.y
check point.rec_on
check point.induction_on
check point.destruct
inductive color :=
red | green | blue
structure color_point (A : Type) (B : Type) extends point A B :=
mk :: (c : color)
check @color_point.rec_on
check color_point.rec_on
check color_point.to_point
section
variables a b : num
example : point.x (point.mk a b) = a :=
rfl
example : point.y (point.mk a b) = b :=
rfl
variables cc : color
example : color_point.x (color_point.mk a b cc) = a :=
rfl
example : color_point.y (color_point.mk a b cc) = b :=
rfl
example : color_point.c (color_point.mk a b cc) = cc :=
rfl
example : color_point.to_point (color_point.mk a b cc) = point.mk a b :=
rfl
end