proposition: Lemma opair_inj1 T x y x' y' : FSTeq <<= T -> T ⊢ opair x y ≡ opair x' y' -> T ⊢ x ≡ x'.
proof: Proof. intros HT He. assert (H : T ⊢ {x; x} ∈ opair x y). { apply FST_pair_el'; trivial. apply DI1. now apply FST_refl'. } eapply FST_eq_elem in H; try apply He; try apply FST_refl'; trivial. apply FST_pair_el' in H; trivial. apply (DE H); eapply sing_pair1; try apply prv_T1; auto. Qed.
imports: Undecidability.FOL.Syntax.Facts Undecidability.FOL.Semantics.Tarski.FullFacts Undecidability.FOL.Deduction.FullNDFacts Undecidability.FOL.Sets.FST Undecidability.FOL.FST Undecidability.FOL.Reductions.PCPb_to_FST Undecidability.PCP(PCP Util.PCP_facts Reductions.PCPb_iff_dPCPb) Undecidability(Shared.ListAutomation)