{ [A,C,B:Type]. [eqa:EqDecider(A)]. [eqc,eqc':EqDecider(C)]. [r:A  C].
  [f:a:A fp-B]. [a:A]. [z:B].
    rename(r;f)(r a)?z = f(a)?z supposing Inj(A;C;r) }

{ Proof }



Definitions occuring in Statement :  fpf-rename: rename(r;f) fpf-cap: f(x)?z fpf: a:A fp-B[a] inject: Inj(A;B;f) uimplies: b supposing a uall: [x:A]. B[x] apply: f a function: x:A  B[x] universe: Type equal: s = t deq: EqDecider(T)
Definitions :  so_lambda: x.t[x] member: t  T not: A implies: P  Q false: False so_apply: x[s] all: x:A. B[x]
Lemmas :  top_wf fpf_wf fpf-trivial-subtype-top

\mforall{}[A,C,B:Type].  \mforall{}[eqa:EqDecider(A)].  \mforall{}[eqc,eqc':EqDecider(C)].  \mforall{}[r:A  {}\mrightarrow{}  C].  \mforall{}[f:a:A  fp->  B].  \mforall{}[a:A].
\mforall{}[z:B].
    rename(r;f)(r  a)?z  =  f(a)?z  supposing  Inj(A;C;r)


Date html generated: 2011_08_10-AM-08_04_45
Last ObjectModification: 2011_06_18-AM-08_22_46

Home Index