Skip to content

Instantly share code, notes, and snippets.

@EECOLOR
Last active October 10, 2015 23:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EECOLOR/b9b290eb6f514413b9c4 to your computer and use it in GitHub Desktop.
Save EECOLOR/b9b290eb6f514413b9c4 to your computer and use it in GitHub Desktop.
_ = magic
Option[A] = Some[A] | None
/*
O: Objects
A: Arrows
*/
O_00 = { _, X }
O_00 = { _ -> X }
O_01 = { Some[X], None, Option[X] }
A_01 = { Some[X] -> Option[X], None -> Option[X] }
O_02 = { Option[X], Some[X] | None }
A_02 = { Option[X] -> Some[X] | None, Some[X] | None -> Option[X] }
O_03 = { X, Y, Some[X], None }
A_03 = {
X -> Some[X], Some[X] -> X,
Y -> None, None -> Y
}
O_04 = { X, X | Y, X | X }
A_04 = {
X -> X | Y, X | Y -> X
X -> X | X, X | X -> X
}
O_05 = { X | Y, Y | X }
A_05 = { X | Y -> Y | X, Y | X -> X | Y }
O_06 = { _, X, Y, X | Y }
A_06 = {
_ -> X | Y
_ -> X
_ -> Y
}
O_07 = { X, Y, X = Y }
A_07 = {
X = Y -> X
X = Y -> Y
}
O_08 = { _, X, Y, X = Y }
A_08 = {
_ -> X = Y
_ -> X
_ -> Y
}
O_09 = { X = Y, Y = X }
A_09 = { X = Y -> Y = X, Y = X -> X = Y }
O_10 = { =, & }
A_10 = { = -> &, & -> = }
-> = ~>
O_11 = { _, X, Y, X ~> Y }
A_11 = {
_ -> X,
_ -> Y,
_ -> X ~> Y
}
O_12 = { (X ~> Y) & (Y ~> Z), X ~> Z }
A_12 = { (X ~> Y) & (Y ~> Z) -> X ~> Z }
O_13 = { X & (X ~> Y), Y }
A_13 = { X & (X ~> Y) -> Y }
O_14 = { ((W ~> X) & (X ~> Y)) & (Y ~> Z), (W ~> X) & ((X ~> Y) & (Y ~> Z)) }
A_14 = { ((W ~> X) & (X ~> Y)) & (Y ~> Z) -> (W ~> X) & ((X ~> Y) & (Y ~> Z)) }
X = { X }
X & Y = { X, Y }
{ = [
} = ]
O_15 = { [A], [[A]] }
O_15 = { [[A]] -> [A], [A] -> [[A]] }
, = `
O_16 = { [A` [B]], [A` B] }
O_16 = { [A` [B]] -> [A` B], [A` B] -> [A` [B]] }
O_17 = { [A` [B` C]], [A` B` C] }
O_17 = { [A` [B` C]] -> [A` B` C], [A` B` C] -> [A` [B` C]] }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment