Let A and c be given.
Let x, y1 and y2 be given.
Assume H1: (x,y1) {(a,c)|aA}.
Assume H2: (x,y2) {(a,c)|aA}.
Apply (ReplE_impred A (λa0 : set(a0,c)) (x,y1) H1 (y1 = y2)) to the current goal.
Let a1 be given.
Assume Ha1: a1 A.
Assume Heq1: (x,y1) = (a1,c).
Apply (ReplE_impred A (λa0 : set(a0,c)) (x,y2) H2 (y1 = y2)) to the current goal.
Let a2 be given.
Assume Ha2: a2 A.
Assume Heq2: (x,y2) = (a2,c).
We prove the intermediate claim Hy1: y1 = c.
rewrite the current goal using (tuple_2_1_eq x y1) (from right to left).
rewrite the current goal using (tuple_2_1_eq a1 c) (from right to left).
rewrite the current goal using Heq1 (from left to right).
Use reflexivity.
We prove the intermediate claim Hy2: y2 = c.
rewrite the current goal using (tuple_2_1_eq x y2) (from right to left).
rewrite the current goal using (tuple_2_1_eq a2 c) (from right to left).
rewrite the current goal using Heq2 (from left to right).
Use reflexivity.
rewrite the current goal using Hy1 (from left to right).
rewrite the current goal using Hy2 (from left to right).
Use reflexivity.