chore(tests): mass-update for pp.binder_types false

This commit is contained in:
Sebastian Ullrich 2016-05-31 22:14:42 -04:00 committed by Leonardo de Moura
parent f2200fab65
commit 273753f3fc
96 changed files with 297 additions and 328 deletions

View file

@ -12,5 +12,5 @@ P : group P₀
⊢ ?M_1
438.lean:10:2: error: failed to add declaration 'lambda_morphism.mk' to environment, type has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
Π {P₀ : Type} {P : …},
Π {P₀} {P},
?M_2 = ?M_3 → …

View file

@ -1 +1 @@
is_contr.mk : Π (center : ?A), (Π (a : ?A), center = a) → is_contr ?A
is_contr.mk : Π center, (Π a, center = a) → is_contr ?A

View file

@ -3,10 +3,10 @@ A : Type,
B : Type,
f : A → B,
g : B → A,
ε : Π (b : B), f (g b) = b,
ε : Π b, f (g b) = b,
b b' : B
⊢ (ε b)⁻¹ ⬝ ε b = refl b
487.hlean:19:0: error: failed to add declaration 'foo' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (A : Type) (B : Type) (f : …) (g : …) (ε : …) (b b' : B),
λ A B f g ε b b',
is_retraction.mk … ?M_1

View file

@ -32,5 +32,5 @@ rinv : func ∘ finv = id
⊢ inv (mk func finv linv rinv) ∘b mk func finv linv rinv = id
550.lean:43:2: error: failed to add declaration 'bijection.inv.linv' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (A : Type) (f : …),
λ A f,
bijection.rec_on f ?M_1

View file

@ -1,11 +1,11 @@
571.lean:6:2: error:invalid 'cases' tactic, 'Exists' can only eliminate to Prop
proof state:
P : → Prop,
H : ∃ (n : ), P n
H : ∃ n, P n
571.lean:7:0: error: don't know how to synthesize placeholder
P : → Prop,
H : ∃ (n : ), P n
H : ∃ n, P n
571.lean:7:0: error: failed to add declaration 'example' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term

View file

@ -10,5 +10,5 @@ P : f a⁻¹ * f a = 1
⊢ f a⁻¹ = (f a)⁻¹
583.lean:27:8: error: failed to add declaration 'group_hom.hom_map_inv' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (A : Type) (B : Type) (s1 : …) (s2 : …) (f : …) (Hom : …) (a : A),
λ A B s1 s2 f Hom a,
?M_1 …

View file

@ -1,5 +1,5 @@
foo : Π (A : Type) [H : inhabited A], A → A
foo' : Π {A : Type} [H : inhabited A] {x : A}, A
foo : Π A [H], A → A
foo' : Π {A} [H] {x}, A
foo 10 :
definition test : ∀ {A : Type} [H : inhabited A], @foo' nat.is_inhabited (@has_add.add nat_has_add 5 5) = 10 :=
λ (A : Type) (H : inhabited A), @rfl (@foo' nat.is_inhabited (@has_add.add nat_has_add 5 5))
λ A H, @rfl (@foo' nat.is_inhabited (@has_add.add nat_has_add 5 5))

View file

@ -1,4 +1,4 @@
tst₁ : Π (A : Type), A → A
tst₂ : Π {A : Type}, A → A
symm₂ : ∀ {A : Type} (a b : A), a = b → b = a
tst₃ : Π (A : Type), A → A
tst₁ : Π A, A → A
tst₂ : Π {A}, A → A
symm₂ : ∀ {A} a b, a = b → b = a
tst₃ : Π A, A → A

View file

@ -1,5 +1,5 @@
tst₁ : Π (A : Type), A → A
tst₂ : Π {A : Type}, A → A
symm₂ : ∀ {A : Type} (a b : A), a = b → b = a
tst₃ : Π (A : Type), A → A
foo : ∀ {A : Type} {a b : A}, a = b → (∀ (c : A), c = b → c = a)
tst₁ : Π A, A → A
tst₂ : Π {A}, A → A
symm₂ : ∀ {A} a b, a = b → b = a
tst₃ : Π A, A → A
foo : ∀ {A} {a b}, a = b → (∀ c, c = b → c = a)

View file

@ -2,7 +2,7 @@
A B : Type₁,
s : setoid A,
f : A → B,
c : ∀ (a₁ a₂ : A), a₁ ≈ a₂ → f a₁ = f a₂,
c : ∀ a₁ a₂, a₁ ≈ a₂ → f a₁ = f a₂,
a : A,
g h : B → B,
gh : g = h

View file

@ -1,11 +1,11 @@
definition id [reducible] [unfold_full] : Π {A : Type}, A → A :=
λ (A : Type) (a : A), a
λ A a, a
definition category.id [reducible] [unfold 1] : Π {ob : Type} [C : precategory ob] {a : ob}, hom a a :=
ID
-----------
definition id [reducible] [unfold_full] : Π {A : Type}, A → A
λ (A : Type) (a : A), a
λ A a, a
definition category.id [reducible] [unfold 1] : Π {ob : Type} [C : precategory ob] {a : ob}, hom a a
ID

View file

@ -3,8 +3,8 @@ x : S¹
⊢ bool
626b.hlean:4:50: error: don't know how to synthesize placeholder
x : S¹
⊢ eq.pathover (λ (a : S¹), bool) ?M_1 loop ?M_1
⊢ eq.pathover (λ a, bool) ?M_1 loop ?M_1
626b.hlean:4:32: error: failed to add declaration 'f' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (x : S¹),
λ x,
circle.rec_on x ?M_1 ?M_2

View file

@ -1,5 +1,5 @@
definition pnat.pnat : Type₁ :=
{n : | n > 0}
{n | n > 0}
inductive prod : Type → Type → Type
constructors:
prod.mk : Π {A : Type} {B : Type}, A → B → A × B
prod.mk : Π {A} {B}, A → B → A × B

View file

@ -3,8 +3,8 @@ _root_.A : Type₁ → Type₁
A : Type.{l} → Type.{l}
_root_.A.{1} : Type₁ → Type₁
P : B → B
_root_.P : Π {n : },
_root_.P : Π {n},
P : B → B
_root_.P.{1} : ?B → ?B
@P 2 : B → B
@_root_.P.{1} : Π {n : },
@_root_.P.{1} : Π {n},

View file

@ -2,9 +2,7 @@
P : quotient S → Type,
c c' : C,
a : A
⊢ pathover P (quotient.rec (λ (b : A), sorry) (λ (b b' : A) (H : R b b'), sorry) (f a unit.star))
(eq_of_rel S (S.Rmk a unit.star))
sorry
⊢ pathover P (quotient.rec (λ b, sorry) (λ b b' H, sorry) (f a unit.star)) (eq_of_rel S (S.Rmk a unit.star)) sorry
640.hlean:25:22: proof state
P : quotient S → Type,
c c' : C,

View file

@ -1 +1 @@
eq : Π {A : Type}, A → A → Prop
eq : Π {A}, A → A → Prop

View file

@ -1,4 +1,4 @@
f (coe a) : B
g (λ (x : C), coe (h x)) : B
filter (λ (x : bool), bool_to_Prop (negb x)) [tt, ff, tt, ff] : list bool
g (λ x, coe (h x)) : B
filter (λ x, bool_to_Prop (negb x)) [tt, ff, tt, ff] : list bool
[ff, ff]

View file

@ -1,6 +1,6 @@
R : Π {b c : bool}, Prop
R : Π {b c}, Prop
R2 : bool → bool → Prop
R3 : bool → bool → Prop
R4 : bool → (Π {c : bool}, Prop)
R5 : Π {b c : bool}, Prop
R6 : Π {b : bool}, bool → Prop
R4 : bool → (Π {c}, Prop)
R5 : Π {b c}, Prop
R6 : Π {b}, bool → Prop

View file

@ -6,7 +6,7 @@ but is expected to have type
Prop
the assignment was attempted when processing
application type constraint
(λ {T : Prop} (t : T), t) bool.tt
(λ {T} t, t) bool.tt
term
bool.tt
has type

View file

@ -1,2 +1,2 @@
protected definition nat.add : :=
λ (a : ), nat.rec a (λ (b₁ : ), nat.succ)
λ a, nat.rec a (λ b₁, nat.succ)

View file

@ -12,7 +12,7 @@ q : u₂ =[p] v₂
690.hlean:12:0: error: don't know how to synthesize placeholder
A : Type,
B : A → Type,
u v : Σ (a : A), B a,
u v : Σ a, B a,
p : u.1 = v.1,
q : u.2 =[p] v.2
⊢ ⟨(sigma_eq p q)..1, (sigma_eq p q)..2⟩ = ⟨p, q⟩

View file

@ -11,13 +11,13 @@ p : P 0 (succ a)
P Q : → Prop,
a : ,
v_0 : ∀ (m : ), P a m → Q a m,
v_0 : ∀ m, P a m → Q a m,
p : P (succ a) 0
⊢ Q (succ a) 0
P Q : → Prop,
a : ,
v_0 : ∀ (m : ), P a m → Q a m,
v_0 : ∀ m, P a m → Q a m,
a_1 : ,
v_0_1 : P (succ a) a_1 → Q (succ a) a_1,
p : P (succ a) (succ a_1)

View file

@ -1,2 +1,2 @@
definition foo : empty → empty :=
empty.rec (λ (e : empty), empty)
empty.rec (λ e, empty)

View file

@ -1,6 +1,6 @@
definition tst :
(a : Type₁), 2 + 3)
(λ a, 2 + 3)
definition tst :
foo
definition tst1 :
(A : Type₁) (a : A), a) 10
(λ A a, a) 10

View file

@ -1,4 +1,3 @@
acc.rec :
Π {A : Type} {R : A → A → Prop} {C : A → Type},
(Π (x : A), (∀ (y : A), R y x → acc A R y) → (Π (y : A), R y x → C y) → C x) →
(Π {a : A}, acc A R a → C a)
Π {A} {R} {C},
(Π x, (∀ y, R y x → acc A R y) → (Π y, R y x → C y) → C x) → (Π {a}, acc A R a → C a)

View file

@ -1,12 +1,3 @@
F x₁
(λ (y : A) (a : R y x₁),
acc.rec (λ (x₂ : A) (ac : ∀ (y : A), R y x₂ → acc R y) (iH : Π (y : A), R y x₂ → C y), F x₂ iH)
(ac y a))
acc.rec (λ (x₂ : A) (ac : ∀ (y : A), R y x₂ → acc R y) (iH : Π (y : A), R y x₂ → C y), F x₂ iH)
(acc.intro x₁ ac) :
C x₁
F x₁
(λ (y : A) (a : R y x₁),
acc.rec (λ (x₂ : A) (ac : ∀ (y : A), R y x₂ → acc R y) (iH : Π (y : A), R y x₂ → C y), F x₂ iH)
(ac y a)) :
C x₁
F x₁ (λ y a, acc.rec (λ x₂ ac iH, F x₂ iH) (ac y a))
acc.rec (λ x₂ ac iH, F x₂ iH) (acc.intro x₁ ac) : C x₁
F x₁ (λ y a, acc.rec (λ x₂ ac iH, F x₂ iH) (ac y a)) : C x₁

View file

@ -1,8 +1,8 @@
definition f : :=
λ (a : ), a + 1
λ a, a + 1
definition f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition f : :=
λ (a : ), a + 1
λ a, a + 1
definition f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1

View file

@ -1,35 +1,35 @@
sec 3.
definition foo.bah.bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a
sec 2.
definition foo.bah.bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a
sec 1.
definition foo.bah.bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a
foo.bah.bla.
definition foo.bah.bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a
foo.bah.
definition foo.bah.bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a
foo.
definition foo.bah.bla.f : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a
root.
definition foo.bah.bla.f : :=
λ (a : ), a + 1
λ a, a + 1
definition foo.bah.bla.g [reducible] : :=
λ (a : ), a + a
λ a, a + a

View file

@ -1,8 +1,8 @@
definition bla.f : :=
λ (a : ), a + 1
λ a, a + 1
definition bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1
definition bla.f : :=
λ (a : ), a + 1
λ a, a + 1
definition bla.f [reducible] : :=
λ (a : ), a + 1
λ a, a + 1

View file

@ -1,8 +1,8 @@
definition foo : ∀ {A : Type} [_inst_1 : group A] (a b : A), a * b = b * a :=
λ (A : Type) (_inst_1 : group A) (a b : A), sorry
λ A _inst_1 a b, sorry
definition bla : ∀ {B : Type} [_inst_2 : group B] (b : B), b * 1 = b :=
λ (B : Type) (_inst_2 : group B) (b : B), sorry
λ B _inst_2 b, sorry
definition foo2 : ∀ {A : Type} [_inst_1 : group A] (a b : A), a * b = b * a :=
λ (A : Type) (_inst_1 : group A) (a b : A), sorry
λ A _inst_1 a b, sorry
definition bla2 : ∀ {B : Type} [_inst_2 : group B] (b : B), b * 1 = b :=
λ (B : Type) (_inst_2 : group B) (b : B), sorry
λ B _inst_2 b, sorry

View file

@ -1,15 +1,15 @@
{x : ∈ S | x > 0} : set
{x : ∈ s | x > 0} : finset
{x ∈ S | x > 0} : set
{x ∈ s | x > 0} : finset
@set.sep.{1} nat
(x : nat),
(λ x,
@gt.{1} nat nat._trans_of_decidable_linear_ordered_semiring_13 x
(@zero.{1} nat nat._trans_of_decidable_linear_ordered_semiring_6))
S :
set.{1} nat
@finset.sep.{1} nat (λ (a b : nat), nat.has_decidable_eq a b)
(x : nat),
@finset.sep.{1} nat (λ a b, nat.has_decidable_eq a b)
(λ x,
@gt.{1} nat nat._trans_of_decidable_linear_ordered_semiring_13 x
(@zero.{1} nat nat._trans_of_decidable_linear_ordered_semiring_6))
(a : nat), nat.decidable_lt (@zero.{1} nat nat._trans_of_decidable_linear_ordered_semiring_6) a)
(λ a, nat.decidable_lt (@zero.{1} nat nat._trans_of_decidable_linear_ordered_semiring_6) a)
s :
finset.{1} nat

View file

@ -1,4 +1,4 @@
definition lemma1 : ∀ (a : ), r a → s a → p a :=
λ (a : ) (H.1 : r a) (H.2 : s a), rq₁ a H.1
λ a H.1 H.2, rq₁ a H.1
definition lemma2 : ∀ (a : ), r a → s a → p a :=
λ (a : ) (H.1 : r a), rq₂ a
λ a H.1, rq₂ a

View file

@ -2,7 +2,7 @@ blast_cc_not_provable.lean:5:0: error: blast tactic failed
strategy 'cc' failed, no proof found, final state:
C : → Type,
n m : ,
f : Π (n : ), C n → C n,
f : Π n, C n → C n,
c : C n,
d : C m,
H.6 : f n == f m,
@ -11,14 +11,14 @@ H.7 : c == d
-------
proof state:
C : → Type,
f : Π (n : ), C n → C n,
f : Π n, C n → C n,
n m : ,
c : C n,
d : C m
⊢ f n == f m → c == d → f n c == f m d
blast_cc_not_provable.lean:5:0: error: don't know how to synthesize placeholder
C : → Type,
f : Π (n : ), C n → C n,
f : Π n, C n → C n,
n m : ,
c : C n,
d : C m

View file

@ -1,19 +1,19 @@
bug1.lean:9:7: error: type mismatch at definition 'and_intro1', has type
(p q : bool),
p → q → (∀ (c : bool), (p → q → c) → c)
∀ p q,
p → q → (∀ c, (p → q → c) → c)
but is expected to have type
(p q : bool),
∀ p q,
p → q → a
bug1.lean:13:7: error: type mismatch at definition 'and_intro2', has type
(p q : bool),
p → q → (∀ (c : bool), (p → q → c) → c)
∀ p q,
p → q → (∀ c, (p → q → c) → c)
but is expected to have type
(p q : bool),
∀ p q,
p → q → p ∧ p
bug1.lean:17:7: error: type mismatch at definition 'and_intro3', has type
(p q : bool),
p → q → (∀ (c : bool), (p → q → c) → c)
∀ p q,
p → q → (∀ c, (p → q → c) → c)
but is expected to have type
(p q : bool),
∀ p q,
p → q → q ∧ p
and_intro4 : ∀ (p q : bool), p → q → p ∧ q
and_intro4 : ∀ p q, p → q → p ∧ q

View file

@ -1,7 +1,7 @@
calc_assistant.lean:7:14: error: type mismatch at term
H₁
has type
(x : num),
∀ x,
b = x
but is expected to have type
a = b

View file

@ -5,8 +5,7 @@ auxiliary goal at time of failure
b r t l : z = z,
s : square t b l r,
e_3 : z = z
⊢ Π (e_4 : eq.rec t (refl z) = idp) (e_5 : eq.rec (eq.rec b (refl z)) e_3 = idp) (e_6 : eq.rec l (refl z) = idp)
(e_7 : eq.rec (eq.rec r (refl z)) e_3 = idp),
⊢ Π e_4 e_5 e_6 e_7,
eq.rec (eq.rec (eq.rec (eq.rec (eq.rec (eq.rec (eq.rec s (refl z)) (refl z)) e_3) e_4) e_5) e_6)
e_7 = square.ids →
unit

View file

@ -1,4 +1,4 @@
and.intro : ?a → ?b → ?a ∧ ?b
or.elim : ?a ?b → (?a → ?c) → (?b → ?c) → ?c
eq : ?A → ?A → Prop
eq.rec : ?C ?a → (Π {a : ?A}, ?a = a → ?C a)
eq.rec : ?C ?a → (Π {a}, ?a = a → ?C a)

View file

@ -1,3 +1,3 @@
pr : Π {A : Type}, A → A → A
pr : Π {A}, A → A → A
pr a b : N
pr a b : N

View file

@ -1,5 +1,5 @@
f (int.of_nat a) : int
λ (x : bv a), @g a x : bv a → bv a
λ x, @g a x : bv a → bv a
coe2.lean:19:6: error: type mismatch at application
f a
term

View file

@ -1,19 +1,15 @@
theorem perm.perm_erase_dup_of_perm [congr] : ∀ {A : Type} [H : decidable_eq A] {l₁ l₂ : list A}, l₁ ~ l₂ → erase_dup l₁ ~ erase_dup l₂ :=
λ (A : Type) (H : decidable_eq A) (l₁ l₂ : list A) (p : l₁ ~ l₂),
λ A H l₁ l₂ p,
perm_induction_on p nil
(λ (x : A) (t₁ t₂ : list A) (p : t₁ ~ t₂) (r : erase_dup t₁ ~ erase_dup t₂),
decidable.by_cases (λ (xint₁ : x ∈ t₁), have xint₂ : x ∈ t₂, from mem_of_mem_erase_dup …, … …)
(λ (nxint₁ : x ∉ t₁),
have nxint₂ : x ∉ t₂, from λ (xint₂ : x ∈ t₂), … nxint₁,
eq.rec … (eq.symm …)))
(λ (y x : A) (t₁ t₂ : list A) (p : t₁ ~ t₂) (r : erase_dup t₁ ~ erase_dup t₂),
(λ x t₁ t₂ p r,
decidable.by_cases (λ xint₁, have xint₂ : x ∈ t₂, from mem_of_mem_erase_dup …, … …)
(λ nxint₁, have nxint₂ : x ∉ t₂, from λ xint₂, … nxint₁, eq.rec … (eq.symm …)))
(λ y x t₁ t₂ p r,
decidable.by_cases
(λ (xinyt₁ : x ∈ y :: t₁),
decidable.by_cases (λ (yint₁ : …), …)
(λ (nyint₁ : y ∉ t₁), have nyint₂ : …, from …, …))
(λ (nxinyt₁ : x ∉ y :: t₁),
(λ xinyt₁, decidable.by_cases (λ yint₁, …) (λ nyint₁, have nyint₂ : …, from …, …))
(λ nxinyt₁,
have xney : x ≠ y, from ne_of_not_mem_cons nxinyt₁,
have nxint₁ : x ∉ t₁, from not_mem_of_not_mem_cons nxinyt₁,
have nxint₂ : x ∉ t₂, from λ (xint₂ : …), …,
have nxint₂ : x ∉ t₂, from λ xint₂, …,
… …))
(t₁ t₂ t₃ : list A) (p₁ : t₁ ~ t₂) (p₂ : t₂ ~ t₃), trans)
(λ t₁ t₂ t₃ p₁ p₂, trans)

View file

@ -1,8 +1,8 @@
λ (x y z w : A), q (q (q w))
A → A → A → (∀ (w : A), q (q (q w)) = w)
λ (x y z w : A), q (f (q (q x)) (q (q z)) (q w))
(x : A), A → (∀ (z w : A), q (f (q (q x)) (q (q z)) (q w)) = w)
λ (x y z w : A), q (q (q w))
A → A → A → (∀ (w : A), q (q (q w)) = w)
λ (x y z w : A), w
A → A → A → (∀ (w : A), w = w)
λ x y z w, q (q (q w))
A → A → A → (∀ w, q (q (q w)) = w)
λ x y z w, q (f (q (q x)) (q (q z)) (q w))
∀ x, A → (∀ z w, q (f (q (q x)) (q (q z)) (q w)) = w)
λ x y z w, q (q (q w))
A → A → A → (∀ w, q (q (q w)) = w)
λ x y z w, w
A → A → A → (∀ w, w = w)

View file

@ -1,7 +1,7 @@
eq_class_error.lean:15:10: error: don't know how to synthesize placeholder
decidable_eq_foo : Π (f₁ f₂ : foo), decidable (f₁ = f₂)
decidable_eq_foo : Π f₁ f₂, decidable (f₁ = f₂)
⊢ decidable (b = b)
eq_class_error.lean:9:11: error: failed to synthesize placeholder
⊢ Π (f₁ f₂ : foo),
⊢ Π f₁ f₂,
decidable (f₁ = f₂)

View file

@ -1,5 +1,5 @@
error_pos_bug.lean:9:0: error: type error in placeholder assigned to
λ (a : Category) (b : Category) (c : Category),
λ a b c,
a
placeholder has type
Category

View file

@ -5,4 +5,4 @@ errors.lean:22:12: error: unknown identifier 'b'
tst3 : A → A → A
foo.tst1 :
foo.tst2 :
foo.tst3 : Π (A : Type), A → A → A
foo.tst3 : Π A, A → A → A

View file

@ -1 +1 @@
λ (A : Type) (x y : A) (H₁ : x = y) (H₂ : y = x), eq.rec H₁ H₂
λ A x y H₁ H₂, eq.rec H₁ H₂

View file

@ -1,4 +1,2 @@
to_set_union :
∀ {A : Type} [deceq : decidable_eq A] (s t : finset A),
@eq (set A) (@ts A (@union A deceq s t)) (@set.union A (@ts A s) (@ts A t))
to_set_empty : ∀ {A : Type}, @eq (set A) (@ts A (@empty A)) (@set.empty A)
to_set_union : ∀ {A} [deceq] s t, @eq (set A) (@ts A (@union A deceq s t)) (@set.union A (@ts A s) (@ts A t))
to_set_empty : ∀ {A}, @eq (set A) (@ts A (@empty A)) (@set.empty A)

View file

@ -3,6 +3,6 @@ position 55:52
A : Type,
B : Type,
f : one_step_tr A → B
⊢ Π (x y : A),
⊢ Π x y,
f (tr x) = f (tr y)
END_LEAN_INFORMATION

View file

@ -2,9 +2,7 @@ LEAN_INFORMATION
position 671:8
A : Type,
decA : decidable_eq A,
ex_of_subcount_eq_ff :
∀ {l₁ l₂ : list A},
subcount l₁ l₂ = ff → (∃ (a : A), ¬list.count a l₁ ≤ list.count a l₂),
ex_of_subcount_eq_ff : ∀ {l₁ l₂}, subcount l₁ l₂ = ff → (∃ a, ¬list.count a l₁ ≤ list.count a l₂),
a : A,
l₁ l₂ : list A,
h : subcount (a :: l₁) l₂ = ff,

View file

@ -2,15 +2,13 @@ LEAN_INFORMATION
position 677:47
A : Type,
decA : decidable_eq A,
ex_of_subcount_eq_ff :
∀ {l₁ l₂ : list A},
subcount l₁ l₂ = ff → (∃ (a : A), ¬list.count a l₁ ≤ list.count a l₂),
ex_of_subcount_eq_ff : ∀ {l₁ l₂}, subcount l₁ l₂ = ff → (∃ a, ¬list.count a l₁ ≤ list.count a l₂),
a : A,
l₁ l₂ : list A,
h : subcount (a :: l₁) l₂ = ff,
i : list.count a (a :: l₁) ≤ list.count a l₂,
this : subcount l₁ l₂ = ff,
ih : ∃ (a : A), ¬list.count a l₁ ≤ list.count a l₂,
ih : ∃ a, ¬list.count a l₁ ≤ list.count a l₂,
hw : ¬list.count a l₁ ≤ list.count a l₂
⊢ ¬list.count a (a :: l₁) ≤ list.count a l₂
END_LEAN_INFORMATION

View file

@ -13,23 +13,23 @@ A : Type,
h : decidable_eq A,
P : finset A → Prop,
H1 : P (@empty A),
H2 : ∀ ⦃s : finset A⦄ {a : A}, not (@mem A a s) → P s → P (@insert A h a s),
H2 : ∀ ⦃s⦄ {a}, not (@mem A a s) → P s → P (@insert A h a s),
s : finset A,
u : nodup_list A,
l : list A,
a : A,
l' : list A,
IH :
(has_property : @nodup A l'),
∀ has_property,
P (@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) l' has_property)),
nodup_al' : @nodup A (@cons A a l'),
anl' : not (@list.mem A a l'),
H3 : @eq (list A) (@list.insert A (λ (a b : A), h a b) a l') (@cons A a l'),
H3 : @eq (list A) (@list.insert A (λ a b, h a b) a l') (@cons A a l'),
nodup_l' : @nodup A l',
P_l' : P (@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) l' nodup_l')),
H4 :
P
(@insert A (λ (a b : A), h a b) a
(@insert A (λ a b, h a b) a
(@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) l' nodup_l')))
⊢ P (@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) (@cons A a l') nodup_al'))
finset_induction_bug.lean:30:45: error: don't know how to synthesize placeholder
@ -37,34 +37,34 @@ A : Type,
h : decidable_eq A,
P : finset A → Prop,
H1 : P (@empty A),
H2 : ∀ ⦃s : finset A⦄ {a : A}, not (@mem A a s) → P s → P (@insert A h a s),
H2 : ∀ ⦃s⦄ {a}, not (@mem A a s) → P s → P (@insert A h a s),
s : finset A,
u : nodup_list A,
l : list A,
a : A,
l' : list A,
IH :
(has_property : @nodup A l'),
∀ has_property,
P (@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) l' has_property)),
nodup_al' : @nodup A (@cons A a l'),
anl' : not (@list.mem A a l'),
H3 : @eq (list A) (@list.insert A (λ (a b : A), h a b) a l') (@cons A a l'),
H3 : @eq (list A) (@list.insert A (λ a b, h a b) a l') (@cons A a l'),
nodup_l' : @nodup A l',
P_l' : P (@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) l' nodup_l')),
H4 :
P
(@insert A (λ (a b : A), h a b) a
(@insert A (λ a b, h a b) a
(@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) l' nodup_l')))
⊢ P (@quot.mk (nodup_list A) (nodup_list_setoid A) (@subtype.tag (list A) (@nodup A) (@cons A a l') nodup_al'))
finset_induction_bug.lean:16:5: error: failed to add declaration 'finset.induction₂' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (A : Type) (h : …) (P : …) (H1 : …) (H2 : …) (s : …),
λ A h P H1 H2 s,
@quot.induction_on … … P s
(u : …),
(λ u,
@subtype.destruct … … … u
(l : …),
(λ l,
@list.induction_on A … l …
(a : A) (l' : …) (IH : …) (nodup_al' : …),
(λ a l' IH nodup_al',
have anl' : …, from …,
have H3 : …, from …,
have nodup_l' : …, from …,

View file

@ -1,4 +1,4 @@
gen_as.lean:7:2: proof state
x y :
⊢ ∀ (n : ),
⊢ ∀ n,
n ≥ 0

View file

@ -5,42 +5,42 @@
-- BEGINFINDP
bool.tt_bxor_tt|eq (bool.bxor bool.tt bool.tt) bool.ff
bool.tt_bxor_ff|eq (bool.bxor bool.tt bool.ff) bool.tt
bool.bor_tt|∀ (a : bool), eq (bool.bor a bool.tt) bool.tt
bool.band_tt|∀ (a : bool), eq (bool.band a bool.tt) a
bool.bor_tt|∀ a, eq (bool.bor a bool.tt) bool.tt
bool.band_tt|∀ a, eq (bool.band a bool.tt) a
bool.tt|bool
bool.bxor_tt|∀ (a : bool), eq (bool.bxor a bool.tt) (bool.bnot a)
bool.bxor_tt|∀ a, eq (bool.bxor a bool.tt) (bool.bnot a)
bool.eq_tt_of_bnot_eq_ff|eq (bool.bnot ?a) bool.ff → eq ?a bool.tt
bool.eq_ff_of_bnot_eq_tt|eq (bool.bnot ?a) bool.tt → eq ?a bool.ff
bool.ff_bxor_tt|eq (bool.bxor bool.ff bool.tt) bool.tt
bool.absurd_of_eq_ff_of_eq_tt|eq ?a bool.ff → eq ?a bool.tt → ?B
bool.eq_tt_of_ne_ff|ne ?a bool.ff → eq ?a bool.tt
tactic.with_attributes_tac|tactic.expr → tactic.identifier_list → tactic → tactic
bool.tt_band|∀ (a : bool), eq (bool.band bool.tt a) a
bool.cond_tt|∀ (t e : ?A), eq (bool.cond bool.tt t e) t
bool.tt_band|∀ a, eq (bool.band bool.tt a) a
bool.cond_tt|∀ t e, eq (bool.cond bool.tt t e) t
bool.ff_ne_tt|eq bool.ff bool.tt → false
bool.eq_ff_of_ne_tt|ne ?a bool.tt → eq ?a bool.ff
bool.tt_bxor|∀ (a : bool), eq (bool.bxor bool.tt a) (bool.bnot a)
bool.tt_bor|∀ (a : bool), eq (bool.bor bool.tt a) bool.tt
bool.tt_bxor|∀ a, eq (bool.bxor bool.tt a) (bool.bnot a)
bool.tt_bor|∀ a, eq (bool.bor bool.tt a) bool.tt
-- ENDFINDP
-- BEGINWAIT
-- ENDWAIT
-- BEGINFINDP
tt|bool
tt_bor|∀ (a : bool), eq (bor tt a) tt
tt_band|∀ (a : bool), eq (band tt a) a
tt_bxor|∀ (a : bool), eq (bxor tt a) (bnot a)
tt_bor|∀ a, eq (bor tt a) tt
tt_band|∀ a, eq (band tt a) a
tt_bxor|∀ a, eq (bxor tt a) (bnot a)
tt_bxor_tt|eq (bxor tt tt) ff
tt_bxor_ff|eq (bxor tt ff) tt
bor_tt|∀ (a : bool), eq (bor a tt) tt
band_tt|∀ (a : bool), eq (band a tt) a
bxor_tt|∀ (a : bool), eq (bxor a tt) (bnot a)
bor_tt|∀ a, eq (bor a tt) tt
band_tt|∀ a, eq (band a tt) a
bxor_tt|∀ a, eq (bxor a tt) (bnot a)
eq_tt_of_bnot_eq_ff|eq (bnot ?a) ff → eq ?a tt
eq_ff_of_bnot_eq_tt|eq (bnot ?a) tt → eq ?a ff
ff_bxor_tt|eq (bxor ff tt) tt
absurd_of_eq_ff_of_eq_tt|eq ?a ff → eq ?a tt → ?B
eq_tt_of_ne_ff|ne ?a ff → eq ?a tt
tactic.with_attributes_tac|tactic.expr → tactic.identifier_list → tactic → tactic
cond_tt|∀ (t e : ?A), eq (cond tt t e) t
cond_tt|∀ t e, eq (cond tt t e) t
ff_ne_tt|eq ff tt → false
eq_ff_of_ne_tt|ne ?a tt → eq ?a ff
-- ENDFINDP

View file

@ -1,12 +1,12 @@
-- BEGINWAIT
-- ENDWAIT
-- BEGINFINDP
le.rec_on|le ?a ?a → (Π (a : nat), ?C a a) → ?C ?a ?a
nat.rec_on|Π (n : nat), ?C 0 → (Π (a : nat), ?C a → ?C (succ a)) → ?C n
bool.rec_on|Π (n : bool), ?C bool.ff → ?C bool.tt → ?C n
le.rec_on|le ?a ?a → (Π a, ?C a a) → ?C ?a ?a
nat.rec_on|Π n, ?C 0 → (Π a, ?C a → ?C (succ a)) → ?C n
bool.rec_on|Π n, ?C bool.ff → ?C bool.tt → ?C n
-- ENDFINDP
-- BEGINFINDP
nat.le.rec_on|nat.le ?a ?a → (Π (a : nat), ?C a a) → ?C ?a ?a
nat.rec_on|Π (n : nat), ?C 0 → (Π (a : nat), ?C a → ?C (nat.succ a)) → ?C n
bool.rec_on|Π (n : bool), ?C bool.ff → ?C bool.tt → ?C n
nat.le.rec_on|nat.le ?a ?a → (Π a, ?C a a) → ?C ?a ?a
nat.rec_on|Π n, ?C 0 → (Π a, ?C a → ?C (nat.succ a)) → ?C n
bool.rec_on|Π n, ?C bool.ff → ?C bool.tt → ?C n
-- ENDFINDP

View file

@ -41,7 +41,7 @@ by
rewrite
-- ACK
-- TYPE|7|42
(a_1 b_1 c_1 : ?A), (:a_1 + b_1 + c_1:) = (:a_1 + (b_1 + c_1):)
∀ a_1 b_1 c_1, (:a_1 + b_1 + c_1:) = (:a_1 + (b_1 + c_1):)
-- ACK
-- IDENTIFIER|7|42
add.assoc

View file

@ -51,7 +51,7 @@ b₂
c₂
-- ACK
-- TYPE|134|38
Π (a : A), B a → Type
Π a, B a → Type
-- ACK
-- IDENTIFIER|134|38
C

View file

@ -3,18 +3,18 @@
-- BEGINWAIT
-- ENDWAIT
-- BEGINEVAL
my_id : Π {A : Type}, A → A
my_id : Π {A}, A → A
-- ENDEVAL
-- BEGINEVAL
my_id2 : Π {A : Type}, A → A
my_id2 : Π {A}, A → A
-- ENDEVAL
-- BEGINSAVE
-- ENDSAVE
-- BEGINWAIT
-- ENDWAIT
-- BEGINEVAL
my_id : Π {A : Type}, A → A
my_id : Π {A}, A → A
-- ENDEVAL
-- BEGINEVAL
my_id2 : Π {A : Type}, A → A
my_id2 : Π {A}, A → A
-- ENDEVAL

View file

@ -9,23 +9,23 @@ pos_num.is_inhabited|inhabited pos_num
pos_num.is_one|pos_num → bool
pos_num.inc|pos_num → pos_num
pos_num.ibelow|pos_num → Prop
pos_num.binduction_on|Π (n : pos_num), (Π (n : pos_num), pos_num.ibelow n → ?C n) → ?C n
pos_num.induction_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.binduction_on|Π n, (Π n, pos_num.ibelow n → ?C n) → ?C n
pos_num.induction_on|Π n, ?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.succ|pos_num → pos_num
pos_num.bit1|pos_num → pos_num
pos_num.rec|?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → (Π (n : pos_num), ?C n)
pos_num.rec|?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → (Π n, ?C n)
pos_num.one|pos_num
pos_num.below|pos_num → Type
pos_num.le|pos_num → pos_num → bool
pos_num.cases_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C (pos_num.bit0 a)) → ?C n
pos_num.cases_on|Π n, ?C pos_num.one → (Π a, ?C (pos_num.bit1 a)) → (Π a, ?C (pos_num.bit0 a)) → ?C n
pos_num.pred|pos_num → pos_num
pos_num.mul|pos_num → pos_num → pos_num
pos_num.no_confusion_type|Type → pos_num → pos_num → Type
pos_num.num_bits|pos_num → pos_num
pos_num.no_confusion|eq ?v1 ?v2 → pos_num.no_confusion_type ?P ?v1 ?v2
pos_num.lt|pos_num → pos_num → bool
pos_num.rec_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.brec_on|Π (n : pos_num), (Π (n : pos_num), pos_num.below n → ?C n) → ?C n
pos_num.rec_on|Π n, ?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.brec_on|Π n, (Π n, pos_num.below n → ?C n) → ?C n
pos_num.add|pos_num → pos_num → pos_num
pos_num_has_mul|has_mul pos_num
pos_num|Type
@ -43,22 +43,22 @@ pos_num.is_inhabited|inhabited pos_num
pos_num.is_one|pos_num → bool
pos_num.inc|pos_num → pos_num
pos_num.ibelow|pos_num → Prop
pos_num.binduction_on|Π (n : pos_num), (Π (n : pos_num), pos_num.ibelow n → ?C n) → ?C n
pos_num.induction_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.binduction_on|Π n, (Π n, pos_num.ibelow n → ?C n) → ?C n
pos_num.induction_on|Π n, ?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.succ|pos_num → pos_num
pos_num.bit1|pos_num → pos_num
pos_num.rec|?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → (Π (n : pos_num), ?C n)
pos_num.rec|?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → (Π n, ?C n)
pos_num.one|pos_num
pos_num.below|pos_num → Type
pos_num.le|pos_num → pos_num → bool
pos_num.cases_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C (pos_num.bit0 a)) → ?C n
pos_num.cases_on|Π n, ?C pos_num.one → (Π a, ?C (pos_num.bit1 a)) → (Π a, ?C (pos_num.bit0 a)) → ?C n
pos_num.pred|pos_num → pos_num
pos_num.mul|pos_num → pos_num → pos_num
pos_num.no_confusion_type|Type → pos_num → pos_num → Type
pos_num.no_confusion|eq ?v1 ?v2 → pos_num.no_confusion_type ?P ?v1 ?v2
pos_num.lt|pos_num → pos_num → bool
pos_num.rec_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.brec_on|Π (n : pos_num), (Π (n : pos_num), pos_num.below n → ?C n) → ?C n
pos_num.rec_on|Π n, ?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.brec_on|Π n, (Π n, pos_num.below n → ?C n) → ?C n
pos_num.add|pos_num → pos_num → pos_num
pos_num_has_mul|has_mul pos_num
pos_num|Type
@ -72,22 +72,22 @@ pos_num.is_inhabited|inhabited pos_num
pos_num.is_one|pos_num → bool
pos_num.inc|pos_num → pos_num
pos_num.ibelow|pos_num → Prop
pos_num.binduction_on|Π (n : pos_num), (Π (n : pos_num), pos_num.ibelow n → ?C n) → ?C n
pos_num.induction_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.binduction_on|Π n, (Π n, pos_num.ibelow n → ?C n) → ?C n
pos_num.induction_on|Π n, ?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.succ|pos_num → pos_num
pos_num.bit1|pos_num → pos_num
pos_num.rec|?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → (Π (n : pos_num), ?C n)
pos_num.rec|?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → (Π n, ?C n)
pos_num.one|pos_num
pos_num.below|pos_num → Type
pos_num.le|pos_num → pos_num → bool
pos_num.cases_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C (pos_num.bit0 a)) → ?C n
pos_num.cases_on|Π n, ?C pos_num.one → (Π a, ?C (pos_num.bit1 a)) → (Π a, ?C (pos_num.bit0 a)) → ?C n
pos_num.pred|pos_num → pos_num
pos_num.mul|pos_num → pos_num → pos_num
pos_num.no_confusion_type|Type → pos_num → pos_num → Type
pos_num.no_confusion|eq ?v1 ?v2 → pos_num.no_confusion_type ?P ?v1 ?v2
pos_num.lt|pos_num → pos_num → bool
pos_num.rec_on|Π (n : pos_num), ?C pos_num.one → (Π (a : pos_num), ?C a → ?C (pos_num.bit1 a)) → (Π (a : pos_num), ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.brec_on|Π (n : pos_num), (Π (n : pos_num), pos_num.below n → ?C n) → ?C n
pos_num.rec_on|Π n, ?C pos_num.one → (Π a, ?C a → ?C (pos_num.bit1 a)) → (Π a, ?C a → ?C (pos_num.bit0 a)) → ?C n
pos_num.brec_on|Π n, (Π n, pos_num.below n → ?C n) → ?C n
pos_num.add|pos_num → pos_num → pos_num
pos_num_has_mul|has_mul pos_num
pos_num|Type

View file

@ -5,7 +5,7 @@
@
-- ACK
-- TYPE|11|5
∀ {A : Type} {a b c : A}, eq a b → eq b c → eq a c
∀ {A} {a b c}, eq a b → eq b c → eq a c
-- ACK
-- IDENTIFIER|11|5
eq.trans

View file

@ -1,7 +1,7 @@
inv_del.lean:15:2: error: 1 unsolved subgoal
A : Type,
P : vec A 1 → Type,
H : Π (a : A), P (vone a),
H : Π a, P (vone a),
a : A
⊢ P (vone a)
inv_del.lean:15:2: error: failed to add declaration 'vec.eone' to environment, value has metavariables

View file

@ -1,15 +1,15 @@
let bool := Prop,
and := λ (p q : bool), Π (c : bool), (p → q → c) → c,
and_intro := λ (p q : bool) (H1 : p) (H2 : q) (c : bool) (H : p → q → c), H H1 H2
and := λ p q, Π c, (p → q → c) → c,
and_intro := λ p q H1 H2 c H, H H1 H2
in and_intro :
(p q : Prop),
p → q → (∀ (c : Prop), (p → q → c) → c)
∀ p q,
p → q → (∀ c, (p → q → c) → c)
let1.lean:19:19: error: type mismatch at term
λ (p q : Prop) (H1 : p) (H2 : q) (c : Prop) (H : p → q → c),
λ p q H1 H2 c H,
H H1 H2
has type
(p q : Prop),
p → q → (∀ (c : Prop), (p → q → c) → c)
∀ p q,
p → q → (∀ c, (p → q → c) → c)
but is expected to have type
(p q : Prop),
p → q → (λ (p q : Prop), ∀ (c : Prop), (p → q → c) → c) q p
∀ p q,
p → q → (λ p q, ∀ c, (p → q → c) → c) q p

View file

@ -1,8 +1,8 @@
definition test.foo.prf [irreducible] : ∀ (x : ), 0 < succ (succ x) :=
λ (x : ), lt.step (zero_lt_succ x)
λ x, lt.step (zero_lt_succ x)
definition test.bla : :=
λ (a : ), foo (succ (succ a)) (foo.prf a)
λ a, foo (succ (succ a)) (foo.prf a)
definition test.bla : :=
λ (a : ), test.foo (succ (succ a)) (test.foo.prf a)
λ a, test.foo (succ (succ a)) (test.foo.prf a)
definition test.foo.prf : ∀ (x : ), 0 < succ (succ x) :=
λ (x : ), lt.step (zero_lt_succ x)
λ x, lt.step (zero_lt_succ x)

View file

@ -1,15 +1,15 @@
definition bla : :=
λ (a : ), foo (succ (succ a)) (bla_2 a)
λ a, foo (succ (succ a)) (bla_2 a)
definition bla_1 : ∀ (x : ), 0 < succ x :=
λ (x : ), zero_lt_succ x
λ x, zero_lt_succ x
definition bla_2 : ∀ (x : ), 0 < succ (succ x) :=
λ (x : ), lt.step (bla_1 x)
λ x, lt.step (bla_1 x)
definition test_1 [irreducible] : ∀ (x : ), 0 < succ x :=
λ (x : ), zero_lt_succ x
λ x, zero_lt_succ x
definition test_2 [reducible] : ∀ (x : ), 0 < succ (succ x) :=
λ (x : ), lt.step (test_1 x)
λ x, lt.step (test_1 x)
definition tst_1 : ∀ (x : Type.{l_1}) (x_1 : x) (x_2 : list.{l_1} x),
x_1 :: x_2 = nil.{l_1} → list.no_confusion_type.{0 l_1} false (x_1 :: x_2) nil.{l_1} :=
λ (x : Type.{l_1}) (x_1 : x) (x_2 : list.{l_1} x), list.no_confusion.{0 l_1}
λ x x_1 x_2, list.no_confusion.{0 l_1}
definition tst : Π {A : Type.{l_1}}, A → list.{l_1} A → bool :=
λ (A : Type.{l_1}) (a : A) (l : list.{l_1} A), voo.{(max 1 l_1)} (a :: l) nil.{l_1} (tst_1.{l_1} A a l)
λ A a l, voo.{(max 1 l_1)} (a :: l) nil.{l_1} (tst_1.{l_1} A a l)

View file

@ -1,5 +1,5 @@
noncomp_theory.lean:4:0: error: definition 'f' is noncomputable, it depends on 'real.discrete_linear_ordered_field'
noncomputable definition g : :=
λ (a : ), div (a + a)
λ a, div (a + a)
definition r : :=
λ (a : ), a
λ a, a

View file

@ -1,4 +1,4 @@
(A : Type₁) (x y : A), x = y : Prop
(x : num), x = 0 : Prop
Σ (x : num), x = 10 : Type₁
Σ (A : Type₁), list A : Type₂
∃ A x y, x = y : Prop
∃ x, x = 0 : Prop
Σ x, x = 10 : Type₁
Σ A, list A : Type₂

View file

@ -1,4 +1,4 @@
omit.lean:5:7: error: invalid omit command, 'A' has not been included
omit.lean:7:10: error: invalid include command, 'A' has already been included
foo : Π (A : Type), A → A → (Π (B : Type), B → B)
tst : Π (A : Type), A → A → Type → Type
foo : Π A, A → A → (Π B, B → B)
tst : Π A, A → A → Type → Type

View file

@ -1,17 +1,17 @@
id : Π {A : Type}, A → A
id₂ : Π {A : Type}, A → A
id : Π {A}, A → A
id₂ : Π {A}, A → A
foo1 : A → B → A
foo2 : A → B → A
foo3 : A → B → A
foo4 : A → B → A
foo1 : Π {A : Type} {B : Type}, A → B → A
foo2 : Π {A : Type} (B : Type), A → B → A
foo3 : Π (A : Type) {B : Type}, A → B → A
foo4 : Π (A : Type) (B : Type), A → B → A
boo1 : Π {A : Type} {B : Type}, A → B → A
boo2 : Π {A : Type} (B : Type), A → B → A
boo3 : Π (A : Type) {B : Type}, A → B → A
boo4 : Π (A : Type) (B : Type), A → B → A
foo1 : Π {A} {B}, A → B → A
foo2 : Π {A} B, A → B → A
foo3 : Π A {B}, A → B → A
foo4 : Π A B, A → B → A
boo1 : Π {A} {B}, A → B → A
boo2 : Π {A} B, A → B → A
boo3 : Π A {B}, A → B → A
boo4 : Π A B, A → B → A
param_binder_update.lean:70:12: error: invalid parameter binder type update, 'A' is a variable
param_binder_update.lean:71:11: error: invalid variable binder type update, 'C' is not a variable
param_binder_update.lean:72:12: error: invalid variable binder type update, 'C' is not a variable

View file

@ -1,4 +1,4 @@
foo1 : Π {A : Type} {B : Type}, A → B → A
foo2 : Π {A : Type} (B : Type), A → B → A
foo3 : Π (A : Type) {B : Type}, A → B → A
foo4 : Π (A : Type) (B : Type), A → B → A
foo1 : Π {A} {B}, A → B → A
foo2 : Π {A} B, A → B → A
foo3 : Π A {B}, A → B → A
foo4 : Π A B, A → B → A

View file

@ -1,5 +1,5 @@
definition Sum_weird [forward] : ∀ (f g h : ) (n : ), Sum n (λ (x : ), f (g (h x))) = 1 :=
λ (f g h : ) (n : ), sorry
λ f g h n, sorry
(multi-)patterns:
?M_1 : , ?M_2 : , ?M_3 : , ?M_4 :
{Sum ?M_4 (λ (x : ), ?M_1 (?M_2 (?M_3 x)))}
{Sum ?M_4 (λ x, ?M_1 (?M_2 (?M_3 x)))}

View file

@ -1,7 +1,7 @@
λ {A : Type} (B : Type) (a : A) (b : B), a : Π (B : Type), ?A → B → ?A
λ {A B : Type} (a : A) (b : B), a : ?A → ?B → ?A
λ (A : Type) {B : Type} (a : A) (b : B), a : Π (A : Type) {B : Type}, A → B → A
λ (A B : Type) (a : A) (b : B), a : Π (A B : Type), A → B → A
λ [A : Type] (B : Type) (a : A) (b : B), a : Π (B : Type), ?A → B → ?A
λ ⦃A : Type⦄ {B : Type} (a : A) (b : B), a : Π ⦃A : Type⦄ {B : Type}, A → B → A
λ ⦃A B : Type(a : A) (b : B), a : Π ⦃A B : Type⦄, A → B → A
λ {A} B a b, a : Π B, ?A → B → ?A
λ {A B} a b, a : ?A → ?B → ?A
λ A {B} a b, a : Π A {B}, A → B → A
λ A B a b, a : Π A B, A → B → A
λ [A] B a b, a : Π B, ?A → B → ?A
λ ⦃A⦄ {B} a b, a : Π ⦃A⦄ {B}, A → B → A
λ ⦃A B⦄ a b, a : Π ⦃A B⦄, A → B → A

View file

@ -1,6 +1,6 @@
a + of_num b = 10 : Prop
@eq.{1} nat
(@add.{1} nat nat._trans_of_decidable_linear_ordered_semiring_2 ((λ (x : nat), x) a)
(@add.{1} nat nat._trans_of_decidable_linear_ordered_semiring_2 ((λ x, x) a)
(nat.of_num (@bit0.{1} num num_has_add (@one.{1} num num_has_one))))
(@bit0.{1} nat nat._trans_of_decidable_linear_ordered_semiring_2
(@bit1.{1} nat nat._trans_of_decidable_linear_ordered_semiring_22 nat._trans_of_decidable_linear_ordered_semiring_2

View file

@ -1,2 +1,2 @@
1 :
(x : ), x) 1 :
(λ x, x) 1 :

View file

@ -1,3 +1 @@
char.rec_on :
Π (n : char),
(Π (a a_1 a_2 a_3 a_4 a_5 a_6 a_7 : bool), ?C (char.mk a a_1 a_2 a_3 a_4 a_5 a_6 a_7)) → ?C n
char.rec_on : Π n, (Π a a_1 a_2 a_3 a_4 a_5 a_6 a_7, ?C (char.mk a a_1 a_2 a_3 a_4 a_5 a_6 a_7)) → ?C n

View file

@ -1,3 +1,3 @@
quot.sound : ∀ {A : Type} [s : setoid A] {a b : A}, setoid.r a b → quot.mk a = quot.mk b
classical.strong_indefinite_description : Π {A : Type} (P : A → Prop), nonempty A → {x : A | Exists P → P x}
propext : ∀ {a b : Prop}, (a ↔ b) → a = b
quot.sound : ∀ {A} [s] {a b}, setoid.r a b → quot.mk a = quot.mk b
classical.strong_indefinite_description : Π {A} P, nonempty A → {x | Exists P → P x}
propext : ∀ {a b}, (a ↔ b) → a = b

View file

@ -1,3 +1,3 @@
quot.sound : ∀ {A : Type} [s : setoid A] {a b : A}, setoid.r a b → quot.mk a = quot.mk b
classical.strong_indefinite_description : Π {A : Type} (P : A → Prop), nonempty A → {x : A | Exists P → P x}
propext : ∀ {a b : Prop}, (a ↔ b) → a = b
quot.sound : ∀ {A} [s] {a b}, setoid.r a b → quot.mk a = quot.mk b
classical.strong_indefinite_description : Π {A} P, nonempty A → {x | Exists P → P x}
propext : ∀ {a b}, (a ↔ b) → a = b

View file

@ -1,8 +1,8 @@
no axioms
------
quot.sound : ∀ {A : Type} [s : setoid A] {a b : A}, setoid.r a b → quot.mk a = quot.mk b
classical.strong_indefinite_description : Π {A : Type} (P : A → Prop), nonempty A → {x : A | Exists P → P x}
propext : ∀ {a b : Prop}, (a ↔ b) → a = b
quot.sound : ∀ {A} [s] {a b}, setoid.r a b → quot.mk a = quot.mk b
classical.strong_indefinite_description : Π {A} P, nonempty A → {x | Exists P → P x}
propext : ∀ {a b}, (a ↔ b) → a = b
------
theorem foo3 : 0 = 0 :=
foo2

View file

@ -1,7 +1,7 @@
protected_test.lean:2:8: error: unknown identifier 'induction_on'
protected_test.lean:3:8: error: unknown identifier 'rec_on'
nat.induction_on : ∀ (n : ), ?C 0 → (∀ (a : ), ?C a → ?C (succ a)) → ?C n
le.rec_on : le ?a ?a_1 → ?C ?a → (∀ {b : }, le ?a b → ?C b → ?C (succ b)) → ?C ?a_1
le.rec_on : le ?a ?a_1 → ?C ?a → (∀ {b : }, le ?a b → ?C b → ?C (succ b)) → ?C ?a_1
nat.induction_on : ∀ n, ?C 0 → (∀ a, ?C a → ?C (succ a)) → ?C n
le.rec_on : le ?a ?a_1 → ?C ?a → (∀ {b}, le ?a b → ?C b → ?C (succ b)) → ?C ?a_1
le.rec_on : le ?a ?a_1 → ?C ?a → (∀ {b}, le ?a b → ?C b → ?C (succ b)) → ?C ?a_1
protected_test.lean:8:10: error: unknown identifier 'rec_on'
le.rec_on : le ?a ?a_1 → ?C ?a → (∀ {b : }, le ?a b → ?C b → ?C (succ b)) → ?C ?a_1
le.rec_on : le ?a ?a_1 → ?C ?a → (∀ {b}, le ?a b → ?C b → ?C (succ b)) → ?C ?a_1

View file

@ -6,5 +6,5 @@ h₂ : b = c
⊢ b = c
pstate.lean:4:7: error: failed to add declaration 'foo' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (A : Type) (a b c : A) (h₁ : …) (h₂ : …),
λ A a b c h₁ h₂,
eq.trans h₁ ?M_1

View file

@ -1 +1 @@
λ (x : A), f x
λ x, f x

View file

@ -1,5 +1,5 @@
definition foo [forward] : ∀ (m n k : ), P (f m) → P (g n) → P (f k) → P k ∧ R (g m) (f n) ∧ P (g m) ∧ P (f n) :=
λ (m n k : ), sorry
λ m n k, sorry
(multi-)patterns:
?M_1 : , ?M_2 : , ?M_3 :
{P ?M_3, R (g ?M_1) (f ?M_2)}

View file

@ -32,4 +32,4 @@ replace_tac.lean:26:0: error: 1 unsolved subgoal
⊢ f 4 = p
replace_tac.lean:26:0: error: failed to add declaration 'example' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
?M_1
?M_1

View file

@ -1,4 +1,4 @@
id2 : (A → B → A) → A
id2 : (A → B → A) → A
id2 : ?B a → (A → ?B a → A) → A
id2 : ?A → (Π {B : Type}, B → (?A → B → ?A) → ?A)
id2 : ?A → (Π {B}, B → (?A → B → ?A) → ?A)

View file

@ -14,5 +14,5 @@ Hb : b
⊢ b ∧ a
show_tac.lean:7:0: error: failed to add declaration 'example' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (a b : Prop) (Hab : …),
λ a b Hab,
?M_1

View file

@ -1,2 +1,2 @@
λ (a b c : bool), g y
λ (a b c : bool), h z
λ a b c, g y
λ a b c, h z

View file

@ -1,4 +1,4 @@
H1
imp_congr H1 H2
imp_congr H1 (imp_congr H2 H3)
forall_congr (λ (x : T), H x)
forall_congr (λ x, H x)

View file

@ -1,14 +1,14 @@
x = y → true
T → x = y → true
(a : T), x = a → a = y
(a : T), a = x → true
∀ a, x = a → a = y
∀ a, a = x → true
T → T → x = y → true
T → T → x = y → P y
(∀ (x : T), P x ↔ Q x) → Q x
Prop → (∀ (x : T), P x ↔ Q x) → Prop → Q x
(a : Prop), (∀ (x : T), P x ↔ Q x) → a Q x
(∀ (x : T), P x ↔ Q x) → Q x
(a : T), T → (∀ (x : T), P x ↔ Q x) → Q a
(a a_1 : T), a = a_1 → P a_1
(a a_1 a_2 : T), a = a_1 → a_1 = a_2 → P a_2
(a a_1 : T), a = a_1 → (∀ (w : T), P w ↔ Q w) → Q a_1
(∀ x, P x ↔ Q x) → Q x
Prop → (∀ x, P x ↔ Q x) → Prop → Q x
∀ a, (∀ x, P x ↔ Q x) → a Q x
(∀ x, P x ↔ Q x) → Q x
∀ a, T → (∀ x, P x ↔ Q x) → Q a
∀ a a_1, a = a_1 → P a_1
∀ a a_1 a_2, a = a_1 → a_1 = a_2 → P a_2
∀ a a_1, a = a_1 → (∀ w, P w ↔ Q w) → Q a_1

View file

@ -17,7 +17,7 @@ nonempty : Type → Prop
point : Type → Type → Type
setoid : Type → Type
subsingleton : Type → Prop
well_founded : Π {A : Type}, (A → A → Prop) → Prop
well_founded : Π {A}, (A → A → Prop) → Prop
decidable : Prop → Type₁
has_add : Type → Type
has_div : Type → Type
@ -37,4 +37,4 @@ nonempty : Type → Prop
point : Type → Type → Type
setoid : Type → Type
subsingleton : Type → Prop
well_founded : Π {A : Type}, (A → A → Prop) → Prop
well_founded : Π {A}, (A → A → Prop) → Prop

View file

@ -1 +1 @@
{x : | x > 0} : Type₁
{x | x > 0} : Type₁

View file

@ -1,3 +1,3 @@
(x : A), p x : bool
(x y : A), q x y : bool
λ (x : A), x : A → A
∃ x, p x : bool
∃ x y, q x y : bool
λ x, x : A → A

View file

@ -1,2 +1,2 @@
λ (f g : N → N → N) (x y : N), f x (g x y) : (N → N → N) → (N → N → N) → N → N → N
λ f g x y, f x (g x y) : (N → N → N) → (N → N → N) → N → N → N
t12.lean:7:7: error: invalid expression

View file

@ -1,2 +1,2 @@
[choice (g a b) (f a b)]
λ (h : A → A → A), h a b : (A → A → A) → A
λ h, h a b : (A → A → A) → A

View file

@ -5,13 +5,13 @@ unfold_rec.lean:23:2: proof state
n m :
⊢ succ (n + succ m) = succ (succ (n + m))
unfold_rec.lean:38:2: proof state
fibgt0 : ∀ (b n c : ), fib b n c > 0,
fibgt0 : ∀ b n c, fib b n c > 0,
b m c :
⊢ fib b m c + fib b (succ m) c > 0
unfold_rec.lean:47:2: proof state
A : Type,
B : Type,
unzip_zip : ∀ {n : } (v₁ : vector A n) (v₂ : vector B n), unzip (zip v₁ v₂) = (v₁, v₂),
unzip_zip : ∀ {n} v₁ v₂, unzip (zip v₁ v₂) = (v₁, v₂),
m : ,
a : A,
va : vector A m,

View file

@ -1,5 +1,5 @@
id1 : Π (A : Type.{u}), A → A
id2.{l_2} : Π (B : Type.{l_2}), B → B
id3.{l_2} : Π (C : Type.{l_2}), C → C
foo.{l_2} : Π (A₁ A₂ : Type.{l_2}), A₁ → A₂ → Prop
id1 : Π A, A → A
id2.{l_2} : Π B, B → B
id3.{l_2} : Π C, C → C
foo.{l_2} : Π A₁ A₂, A₁ → A₂ → Prop
Type.{m} : Type.{m+1}

View file

@ -37,5 +37,5 @@ H₂ : b = c
⊢ c = a
unsolved_proof_qed.lean:5:0: error: failed to add declaration 'example' to environment, value has metavariables
remark: set 'formatter.hide_full_terms' to false to see the complete term
λ (a b c : ) (H₁ : …) (H₂ : …),
λ a b c H₁ H₂,
… ?M_1

View file

@ -1,9 +1,7 @@
urec.lean:3:0: error: invalid user defined recursor, result type must be of the form (C t), where C is a bound variable, and t is a (possibly empty) sequence of bound variables
urec.lean:5:0: error: invalid user defined recursor, 'nat.rec' is a builtin recursor
urec.lean:19:0: error: invalid user defined recursor, type of the major premise 'a' must be for the form (I ...), where I is a constant
myrec.{l_1 l_2} :
Π (A : Type.{l_1}) (M : list.{l_1} A → Type.{l_2}) (l : list.{l_1} A),
M (@nil.{l_1} A) → (Π (a : A), M [a]) → (Π (a₁ a₂ : A), M [a₁, a₂]) → M l
myrec.{l_1 l_2} : Π A M l, M (@nil.{l_1} A) → (Π a, M [a]) → (Π a₁ a₂, M [a₁, a₂]) → M l
recursor information
num. parameters: 1
num. indices: 0
@ -24,10 +22,8 @@ recursor information
major premise pos.: 2
dep. elimination: 1
vector.induction_on.{l_1} :
∀ {A : Type.{l_1}} {C : Π (a : ), vector.{l_1} A a → Prop} {a : } (n : vector.{l_1} A a),
C 0 (@vector.nil.{l_1} A) →
(∀ {n : } (a : A) (a_1 : vector.{l_1} A n), C n a_1 → C (nat.succ n) (@vector.cons.{l_1} A n a a_1)) →
C a n
∀ {A} {C} {a} n,
C 0 (@vector.nil.{l_1} A) → (∀ {n} a a_1, C n a_1 → C (nat.succ n) (@vector.cons.{l_1} A n a a_1)) → C a n
recursor information
num. parameters: 1
num. indices: 1
@ -39,9 +35,7 @@ recursor information
dep. elimination: 1
parameters pos. at major: 1
indices pos. at major: 2
Exists.rec.{l_1} :
∀ {A : Type.{l_1}} {P : A → Prop} {C : Prop},
(∀ (a : A), P a → C) → @Exists.{l_1} A P → C
Exists.rec.{l_1} : ∀ {A} {P} {C}, (∀ a, P a → C) → @Exists.{l_1} A P → C
recursor information
num. parameters: 2
num. indices: 0

View file

@ -1 +1 @@
foo : Π (B : Type), B → (Π (A : Type), A → A = B → Prop)
foo : Π B, B → (Π A, A → A = B → Prop)

View file

@ -1,4 +1,4 @@
succ (nat.rec 2 (λ (b₁ : ), succ) 0)
succ (nat.rec 2 (λ b₁, succ) 0)
3
succ (nat.rec a (λ (b₁ : ), succ) 0)
succ (nat.rec a (λ b₁, succ) 0)
succ a