Truth-Values

Basics| Specifics

1. Basics
Introduces: truth-value , true , false. truth-value = true | false (individual).
closed.
2. Specifics
Introduces: if _ then _ else _ , when _ then _ , there is _ , not _ , both _ , either _ , all _ , any _ .
Includes: Instant/Distinction ( truth-value for s , _ is _ ) .
Needs: Tuples/Basics . truth-value <= component .
  • if_then_else _ :: truth-value, x, y -> x | y (linear) .
  • when _ then _ :: truth-value, x -> x (partial) .
  • there is _ :: x -> true (total) .
  • not _ :: truth-value -> truth-value (total, injective) .
  • both _ :: (truth-value, truth-value) -> truth-value (total, associative, commutative, idempotent, unit is true) .
  • either _ :: (truth-value, truth-value) -> truth-value (total, associative, commutative, idempotent, unit is false) .
  • all _ :: truth-value* -> truth-value (total, associative, commutative, idempotent, \unit is true) .
  • any _ :: truth-value* -> truth-value (total, associative, commutative, idempotent, unit is false) .
  • _ is _ :: truth-value, truth-value -> truth-value (total) .

(1) (if t:truth-value then x else y) = when t then x | when not t then y .
(2) (when true then x) = x ; (when false then x) = nothing .
(3) (there is x!) = true ; (there is nothing) = nothing .
(4) (not true) = false ; (not not t:truth-value) = t .
(5) both (t:truth-value, u:truth-value) = if t then u else false ; both (t:truth-value, u:truth-value) = true => t = true.
(6) either (t:truth-value, u:truth-value) = if t then true else u ; either (t:truth-value, u:truth-value) = false => t = false .
(7) all (s1:truth-value, s2:truth-value) = both (s1, s2) .
(8) any (s1:truth-value, s2:truth-value) = either (s1, s2) .
(9) true is false = false .



   
Data Notation Summary| Tuples | Truth-Values | Numbers | Lists | Strings | Sets | Maps