43 lines
747 B
Text
43 lines
747 B
Text
check { prod . fst := 10, snd := 20 }
|
||
|
||
check ({ fst := 10, snd := 20 } : nat × nat)
|
||
|
||
definition p : nat × nat :=
|
||
{ snd := 20, fst := 10 }
|
||
|
||
print p
|
||
|
||
definition attr : user_attribute :=
|
||
{ name := `foo, descr := "hello world" }
|
||
|
||
print attr
|
||
|
||
definition p2 :=
|
||
{ p with fst := 20 }
|
||
|
||
print p2
|
||
|
||
structure point :=
|
||
(x : nat) (y : nat)
|
||
|
||
structure point3d extends point :=
|
||
(z : nat)
|
||
|
||
definition p1 : point := { x := 1, y := 1 }
|
||
|
||
definition p3 : point3d := { p1 with z := 10 }
|
||
|
||
print p3
|
||
|
||
check { point3d . x := 1, y := 2, z := 3 }
|
||
|
||
check (⟨10, rfl⟩ : Σ' x : nat, x = x)
|
||
|
||
check ((| 10, rfl |) : Σ' x : nat, x = x)
|
||
|
||
check ({ fst := 10, snd := rfl } : Σ' x : nat, x = x)
|
||
|
||
definition f (a : nat) : Σ' x : nat, x = x :=
|
||
{ fst := a, snd := rfl }
|
||
|
||
print f
|