 a1,a2:A. f(a1) = f(a2)
a1,a2:A. f(a1) = f(a2)  B
 B 
 a1 = a2
 a1 = a2
 Thm*  Auto:Automata(Alph;St), c:(St
Auto:Automata(Alph;St), c:(St
 Alph*).
 (
Alph*).
 ( q:St. (Result(Auto)c(q)) = q)
  &  Fin(Alph)
  &  Fin(St)
  &  (St ~ (x,y:Alph*//(x LangOf(Auto)-induced Equiv y)))
q:St. (Result(Auto)c(q)) = q)
  &  Fin(Alph)
  &  Fin(St)
  &  (St ~ (x,y:Alph*//(x LangOf(Auto)-induced Equiv y)))
 
 Inj(St; x,y:Alph*//(x LangOf(Auto)-induced Equiv y); c)
 
 homo_is_inj
 Inj(St; x,y:Alph*//(x LangOf(Auto)-induced Equiv y); c)
 
 homo_is_inj
 Thm*  f:(A
f:(A
 B). (A ~ B)  &  Fin(B)
B). (A ~ B)  &  Fin(B) 
 Surj(A; B; f)
 Surj(A; B; f) 
 Inj(A; B; f)
 surj_is_inj_gen
 Inj(A; B; f)
 surj_is_inj_gen
 Thm*  n:
n: , f:(
, f:( n
n

 n). Surj(
n). Surj( n;
n;  n; f)
n; f) 
 Inj(
 Inj( n;
n;  n; f)    surj_is_inj
n; f)    surj_is_inj