proposition: Theorem GCH_injects' (X : HSet) : GCH -> infinite X -> InjectsInto X (HN (Build_HSet (X -> HProp))).
proof: Proof. intros gch HX. eapply InjectsInto_trans; try apply tr, Injection_power; try apply X. apply (@Sierpinski_step (Build_HSet (X -> HProp)) HN_bound gch). - apply infinite_inject with X; trivial. apply Injection_power. apply X. - intros n. cbn. rewrite !power_iterated_shift. eapply path_infinite_power. cbn. now apply infinite_power_iterated. - apply HN_inject. Qed.
imports: HoTT(TruncType ExcludedMiddle abstract_algebra) HoTT(PropResizing.PropResizing) HoTT(Spaces.Nat.Core Spaces.Card) HoTT(Equiv.BiInv) HoTT(HIT.unique_choice) HoTT.Sets(Ordinals Hartogs Powers GCH AC)