2015-05-23 06:16:36 +00:00
|
|
|
550.lean:43:72: error:invalid 'rewrite' tactic, step produced type incorrect term, details: type mismatch at application
|
2015-05-08 18:32:31 +00:00
|
|
|
eq.symm linv
|
2015-05-06 02:21:27 +00:00
|
|
|
term
|
2015-05-08 18:32:31 +00:00
|
|
|
linv
|
2015-05-06 02:21:27 +00:00
|
|
|
has type
|
|
|
|
finv ∘ func = function.id
|
2015-05-08 18:32:31 +00:00
|
|
|
but is expected to have type
|
|
|
|
x = function.id
|
2015-05-06 02:21:27 +00:00
|
|
|
rewrite step failed using pattern
|
2015-05-08 18:32:31 +00:00
|
|
|
finv_1 ∘ func_1
|
2015-04-29 19:16:37 +00:00
|
|
|
proof state:
|
|
|
|
A : Type,
|
|
|
|
f : bijection A,
|
|
|
|
func finv : A → A,
|
|
|
|
linv : finv ∘ func = function.id,
|
|
|
|
rinv : func ∘ finv = function.id
|
|
|
|
⊢ mk (finv ∘ func) (finv ∘ func)
|
|
|
|
(eq.rec
|
|
|
|
(eq.rec
|
|
|
|
(eq.rec (eq.rec (eq.rec (eq.refl function.id) (eq.symm linv)) (eq.symm (compose.left_id func)))
|
|
|
|
(eq.symm rinv))
|
|
|
|
(function.compose.assoc func finv func))
|
|
|
|
(eq.symm (function.compose.assoc finv func (finv ∘ func))))
|
|
|
|
(eq.rec
|
|
|
|
(eq.rec
|
|
|
|
(eq.rec (eq.rec (eq.rec (eq.refl function.id) (eq.symm linv)) (eq.symm (compose.right_id finv)))
|
|
|
|
(eq.symm rinv))
|
|
|
|
(eq.symm (function.compose.assoc finv func finv)))
|
|
|
|
(function.compose.assoc (finv ∘ func) finv func)) = id
|
2015-05-23 06:16:36 +00:00
|
|
|
550.lean:43:47: error: don't know how to synthesize placeholder
|
2015-04-29 19:16:37 +00:00
|
|
|
A : Type,
|
|
|
|
f : bijection A,
|
|
|
|
func finv : A → A,
|
|
|
|
linv : finv ∘ func = function.id,
|
|
|
|
rinv : func ∘ finv = function.id
|
|
|
|
⊢ inv (mk func finv linv rinv) ∘b mk func finv linv rinv = id
|
2015-05-23 06:16:36 +00:00
|
|
|
550.lean:43:2: error: failed to add declaration 'bijection.inv.linv' to environment, value has metavariables
|
2015-04-29 19:16:37 +00:00
|
|
|
remark: set 'formatter.hide_full_terms' to false to see the complete term
|
|
|
|
λ (A : Type) (f : …),
|
|
|
|
bijection.rec_on f (λ (func finv : …) (linv : …) (rinv : …), ?M_1)
|