如何拆分两个列表的相等性?
How to split equality of two lists?
我有以下目标和背景:
A : Type
eqb : A -> A -> bool
H : forall a1 a2 : A, eqb a1 a2 = true <-> a1 = a2
x : A
l1' : list A
IHl1' : forall l2 : list A, eqb_list eqb l1' l2 = true <-> l1' = l2
y : A
l2' : list A
IHl2' : eqb_list eqb (x :: l1') l2' = true <-> x :: l1' = l2'
H0 : x = y
H1 : l1' = l2'
============================
x :: l1' = y :: l2'
有没有一种策略可以让我应用H0
和H1
并完成这个证明?
谢谢
我有以下目标和背景:
A : Type
eqb : A -> A -> bool
H : forall a1 a2 : A, eqb a1 a2 = true <-> a1 = a2
x : A
l1' : list A
IHl1' : forall l2 : list A, eqb_list eqb l1' l2 = true <-> l1' = l2
y : A
l2' : list A
IHl2' : eqb_list eqb (x :: l1') l2' = true <-> x :: l1' = l2'
H0 : x = y
H1 : l1' = l2'
============================
x :: l1' = y :: l2'
有没有一种策略可以让我应用H0
和H1
并完成这个证明?
谢谢