Universe transfer for finite-type existentials #
∃ (σ : Type) (_ : Fintype σ), P σ is the canonical shape of machine-computability
classes: states exist at Type 0, and a finite type is equivalent to ULift (Fin n)
in any universe. exists_fintype_congr moves such an existential across universes
along any equivalence-stable predicate transport, giving each class its
universe-polymorphic characterization from a single lemma; exists_fintype₂_congr is
the two-type version for machines with a pair of state spaces.
[UPSTREAM] candidate: Mathlib.Computability.DFA, as the shared form of its private
Language.isRegular_iff.helper once a second machine-computability class needs it —
the two-predicate statement (a universe-polymorphic predicate cannot be abstracted, so
each call site passes the same transport at two universe instantiations) makes it
pattern infrastructure rather than a Data/Fintype lemma.
Transports a finite-type existential across universes: any finite type is
equivalent to a ULift (Fin n) in the target universe, so an equivalence-stable
predicate can follow it there.
The two-type version of exists_fintype_congr, for machines with a pair of state
spaces.