-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoperations.math
55 lines (48 loc) · 1.27 KB
/
operations.math
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
::
# Operations
::
[\binary.operation:on{X}]
Describes: x * y
when: 'X is \set'
extends: '"*" is \function:on{X [.times.]: X}:to{X}'
Documented:
. called: "binary operation on X?"
------------------------------------------
Id: "0b0939af-e4a8-4c4d-b8fc-beba6a9e516c"
[\associative.binary.operation:on{X}]
Describes: x * y
when: 'X is \set'
extends: '"*" is \binary.operation:on{X}'
satisfies:
. forAll: x, y, z
where: 'x, y, z [.in.]: X'
then: 'x * (y * z) = (x * y) * z'
Documented:
. called: "associative binary operation on X?"
------------------------------------------
Id: "4e45d31a-56d0-452c-8a94-38c09335cf2b"
[\commutative.binary.operation:on{X}]
Describes: x * y
when: 'X is \set'
extends: '"*" is \binary.operation:on{X}'
satisfies:
. forAll: x, y
where: 'x, y [.in.]: X'
then: 'x * y = y * x'
Documented:
. called: "commutative binary operation on X?"
------------------------------------------
Id: "e3f3d946-9798-4059-8a01-0d6a796385b7"
[\closed.binary.operation:on{Y}]
Describes: x * y
using: X
when: 'Y [.subset.]: X'
extends: '"*" is \binary.operation:on{X}'
satisfies:
. forAll: a, b
where: 'a, b [.in.]: Y'
then: 'a * b [.in.]: Y'
Documented:
. called: "closed operation on Y?"
------------------------------------------
Id: "b8a2786d-641a-43ee-8767-e31f825a5d49"