lean4-htt/tests/lean/run/mk_dec_eq_instance_indices.lean

33 lines
666 B
Text

open tactic
namespace X1
inductive Foo : unit -> Type
| mk : Foo () -> Foo ()
instance (u : unit) : decidable_eq (Foo u) := by mk_dec_eq_instance
end X1
namespace X2
inductive Foo : bool -> bool -> Type
| mk₁ : Foo tt tt
| mk₂ : Foo ff ff -> Foo tt ff
instance (idx₁ idx₂ : bool) : decidable_eq (Foo idx₁ idx₂) := by mk_dec_eq_instance
end X2
namespace X3
constants (C : nat -> Type)
constants (c : Pi (n : nat), C n)
inductive Foo : Pi (n : nat), C n -> Type
| mk₁ : Pi (n : nat), Foo n (c n) -> Foo (n+1) (c (n+1))
| mk₂ : Foo 0 (c 0)
noncomputable instance (n : nat) (c : C n) : decidable_eq (Foo n c) := by mk_dec_eq_instance
end X3