proposition: Lemma interp2heap_fun : functional interp2heap.
proof: Proof. Proof using LD_ex. intros l p p' [H|H] % in_app_iff [H'|H'] % in_app_iff. all: apply in_map_iff in H as [d [H1 H2]]. all: apply in_map_iff in H' as [d' [H3 H4]]. - congruence. - destruct d' as [d1 d2]. exfalso. apply (@enc_point_pair d d1 d2). congruence. - destruct d as [d1 d2]. exfalso. apply (@enc_point_pair d' d1 d2). congruence. - destruct d, d', p, p'. injection H1. injection H3. intros. subst. repeat f_equal. + eapply (@enc_pair_inj d d0 d1 d2). congruence. + eapply (@enc_pair_inj d d0 d1 d2). congruence. Qed.
imports: Undecidability.FOL(Semantics.FiniteTarski.Full) Undecidability.FOL(Syntax.Facts Semantics.Tarski.FullFacts Syntax.BinSig) Undecidability.SeparationLogic(MSL) Undecidability.Shared(Dec) Undecidability.Synthetic.DecidabilityFacts List