surjective_finite
All threads resolved!
All threads resolved!
Prove that Finite B
knowing that Finite A
and there exists a surjection f
from A
to B
.
Edited by Alix Trieu
Merge request reports
Activity
I think the premise says that
A
andB
are bijective, so I am not sure how this differs frombijective_finite
apart from the functions in the premise being swapped.Edited by Robbert Krebbersadded 1 commit
- c7fb75a1 - prove bijective_finite from injective_finite
- Resolved by Robbert Krebbers
A
andB
don't have to be bijective,Cancel (=) g f
is assumed, notCancel (=) f g
which would indeed imply bijectivity.We can prove the following for instance.
Inductive Foo: Type := Foo1. Inductive Bar: Type := Bar1 | Bar2. Instance Foo_eq_dec: EqDecision Foo. solve_decision. Qed. Instance Bar_eq_dec: EqDecision Bar. solve_decision. Qed. Instance Bar_finite: Finite Bar. Admitted. Instance Foo_finite: Finite Foo. eapply injective_finite with (f := fun _ => Bar1) (g := fun _ => Foo1). intro x. destruct x; reflexivity. Qed.
- Resolved by Robbert Krebbers
After some thought, I realized that you only need to know a surjective function from a finite type to another to conclude about finiteness of the second type.
- Resolved by Alix Trieu
- Resolved by Alix Trieu
- Resolved by Alix Trieu
mentioned in commit f59a2c06
Please register or sign in to reply