[Imprint][Data Privacy Statement][E-Mail]
Back to main index.
View the specification.
View theorem base summary,
View theorem base listing,
the used properties by spec,
the dependency list,
the symbol table,
enrich
nat
with
functions
. ^* : (A × A → Bool) → A × A → Bool;
rtc : Nat × (A × A → Bool) → A × A → Bool;
dom . : (A × B → Bool) → A → Bool;
cod . : (A × B → Bool) → B → Bool;
. ^-1 : (A × B → Bool) → B × A → Bool;
. o . : (A × B → Bool) × (B × C → Bool) → A × C → Bool;
predicates
total : (A × B → Bool);
surj : (A × B → Bool);
inj : (A × B → Bool);
pfunp : (A × B → Bool);
funp : (A × B → Bool);
variables
pelem : A × A → Bool;
rel : A × B → Bool;
relac : A × C → Bool;
relbc : B × C → Bool;
irel : B × A → Bool;
a : A;
b : B;
c : C;
n : Nat;
f : A → B;
partial functions
. toFun : (A × B → Bool) → A → B with λ rel. λ a. funp(rel);
axioms
compose-def: (rel o relbc)(a, c) ↔ (∃ b. rel(a, b) ∧ relbc(b, c));
used for: as, ls;
invers-def: rel.^-1(b, a) ↔ rel(a, b);
used for: s, ls;
dom-def: (dom rel)(a) ↔ (∃ b. rel(a, b));
used for: as, ls;
cod-def: (cod rel)(b) ↔ (∃ a. rel(a, b));
used for: as, ls;
total-def: total(rel) ↔ (∀ a. ∃ b. rel(a, b));
surj-def: surj(rel) ↔ (∀ b. ∃ a. rel(a, b));
inj-def: inj(rel) ↔ (∀ a1, a2, b. rel(a1, b) ∧ rel(a2, b) → a1 = a2);
pfunp-def: pfunp(rel) ↔ (∀ b1, b2, a. rel(a, b1) ∧ rel(a, b2) → b1 = b2);
funp-def: funp(rel) ↔ pfunp(rel) ∧ total(rel);
toFun-def: funp(rel) → (rel.toFun(a) = b ↔ rel(a, b));
rtc: pelem.^*(a1, a2) ↔ (∃ n. rtc(n, pelem)(a1, a2));
rtc-base: rtc(0, pelem)(a1, a2) ↔ a1 = a2;
used for: ls;
rtc-rec: rtc(n + 1, pelem)(a1, a2) ↔ (∃ a. pelem(a1, a) ∧ rtc(n, pelem)(a, a2));
used for: ls;
end enrich