Add injectivity for subtyping
This commit is contained in:
parent
2f4ea2c78b
commit
707483d401
1 changed files with 11 additions and 0 deletions
|
@ -2474,4 +2474,15 @@ Module Sub.
|
||||||
case : c => //=; itauto.
|
case : c => //=; itauto.
|
||||||
Qed.
|
Qed.
|
||||||
|
|
||||||
|
Lemma bind_inj n p0 p1 (A0 A1 : PTm n) B0 B1 :
|
||||||
|
R (PBind p0 A0 B0) (PBind p1 A1 B1) ->
|
||||||
|
p0 = p1 /\ R A1 A0 /\ R B0 B1.
|
||||||
|
Proof.
|
||||||
|
rewrite /R.
|
||||||
|
move => [u][v][h0][h1]h.
|
||||||
|
move /REReds.bind_inv : h0 => [A2][B2][?][h00]h01. subst.
|
||||||
|
move /REReds.bind_inv : h1 => [A3][B3][?][h10]h11. subst.
|
||||||
|
inversion h; subst; sfirstorder.
|
||||||
|
Qed.
|
||||||
|
|
||||||
End Sub.
|
End Sub.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue