This issue exposed two bugs at `Structural.lean` 1- `getFixedPrefix` was using structural equality to detected fixed arguments. We should use definitional equality. 2- The `replaceFVars` was broken. We should use `instantiateForall` instead.
7 lines
280 B
Text
7 lines
280 B
Text
inductive V (α : Bool → Type) : Bool → Type
|
||
| mk₁ {b} : α true → V α b
|
||
| mk₂ : V α false → V α false
|
||
|
||
def V.map {α β} (f : (b : Bool) → α b → β b) : {b : Bool} → V α b → V β b
|
||
| _, mk₁ x => mk₁ (f true x)
|
||
| _, mk₂ e => mk₂ (e.map f)
|