ndefinition image: ∀A,B. (A → B) → Ω \sup A → Ω \sup B ≝
λA,B,f,Sa. {y | ∃x. x ∈ Sa ∧ f x = y}.
-naxiom daemon: False.
-
ndefinition mm_image:
∀A,B. ∀Ma: magma A. ∀Mb: magma B. magma_morphism ?? Ma Mb → magma B.
#A; #B; #Ma; #Mb; #f;
napply (mk_magma ???)
- [ napply (image ?? (mmcarr ?? (mmmcarr ???? f)) Ma) (* NO COMPOSITE! *)
+ [ napply (image ?? f Ma)
| #x; #y; nwhd in ⊢ (% → % → ?); *; #x0; *; #Hx0; #Hx1; *; #y0; *; #Hy0; #Hy1; nwhd;
napply (ex_intro ????)
[ napply (op ? x0 y0)
| napply (conj ????)
[ napply (op_closed ??????); nassumption
- | (* nrewrite < Hx1; DOES NOT WORK *)
- napply (eq_rect ?? (λ_.?) ?? Hx1);
- napply (eq_rect ?? (λ_.?) ?? Hy1);
+ | nrewrite < Hx1;
+ nrewrite < Hy1;
napply (mmprop ?? f ??)]##]
nqed.
\ No newline at end of file
sets/sets.ma logic/equality.ma
topology/igt.ma logic/connectives.ma properties/relations.ma
logic/equality.ma logic/connectives.ma
-.unnamed.ma logic/pts.ma
logic/connectives.ma logic/pts.ma
algebra/magmas.ma sets/sets.ma
properties/relations.ma logic/pts.ma
"topology/igt.ma" -> "properties/relations.ma" [];
"logic/equality.ma" [];
"logic/equality.ma" -> "logic/connectives.ma" [];
- ".unnamed.ma" [];
- ".unnamed.ma" -> "logic/pts.ma" [];
"logic/connectives.ma" [];
"logic/connectives.ma" -> "logic/pts.ma" [];
"algebra/magmas.ma" [];
ninductive eq (A: Type) (a: A) : A → CProp ≝
refl: eq A a a.
-nlet rec eq_rect (A: Type) (x: A) (P: ∀y:A. eq A x y → CProp) (q: P x (refl A x))
- (y: A) (p: eq A x y) on p : P y p ≝
- match p with
- [ refl ⇒ q ].
-
interpretation "leibnitz's equality" 'eq t x y = (eq t x y).
interpretation "leibnitz's non-equality" 'neq t x y = (Not (eq t x y)).