Here are some axioms for strings, and theorems derivable from them.
A1. We assume that there is at least one unit string: ∃υ unit(υ)
. Generally we’ll reserve variables υ
and ν
to designate units.
A2. We assume that ⁀
is an associative binary operation over strings.
A3. These axioms are formulated so as not to assume that there is an empty string. However we do specify how an empty string behaves if there is one: ∀α,β (empty(α) ⊃ α⁀β = β = β⁀α)
. It follows that there is at most one empty string.
A4. Unit strings are not decomposable into other non-empty strings: ∀α,β (unit(α⁀β) ⊃ empty(α) ∨ empty(β))
. (If there are no empty strings, then the antecedent can never be true.)
A5. ∀υ,α (unit(υ) ⊃ ~empty(υ⁀α) ∧ ~empty(α⁀υ))
A6. ∀α,β,α′,β′ (α⁀β = α′⁀β′ ⊃ (α = α′ ∧ β = β′) ∨ ∃γ (α′ = α⁀γ ∧ β = γ⁀β′) ∨ ∃γ (α = α′⁀γ ∧ β′ = γ⁀β))
A7. Induction: for any claim Φ( )
, you can conclude that ∀α Φ(α)
if you are able to prove these:
ɛ
, then Φ(ɛ)
.υ
, Φ(υ)
.Φ
holds of a string η
, it also holds of η⁀υ
for each unit string υ
.Φ
holds of a string η
, it also holds of υ⁀η
for each unit string υ
. You only need to prove one of (c) or (d), not both. And if you know that there is an empty string ɛ
, then proving (a) and one of (c) or (d) will give you (b) directly, without needing to prove it separately.
T1. No string is both a unit and empty.
T2. ∀υ,α (unit(υ) ∧ unit(υ⁀α) ⊃ empty(α))
T3. ∀υ,α (unit(υ) ∧ unit(α⁀υ) ⊃ empty(α))
T4. ∀α,β (empty(α⁀β) ⊃ empty(α) ∧ empty(β))
T5. ∀υ,α,β (unit(υ) ∧ υ⁀α = υ⁀β ⊃ α = β)
T6. ∀υ,α,β (unit(υ) ∧ α⁀υ = β⁀υ ⊃ α = β)
The previous two are known as cancellation laws.
T7. ∀υ,ν,α,β (unit(υ) ∧ unit(ν) ∧ υ⁀α = ν⁀β ⊃ υ = ν)
T8. ∀υ,ν,α,β (unit(υ) ∧ unit(ν) ∧ υ⁀α = ν⁀β ⊃ υ = ν)
T9. ∀υ,δ,α,β (unit(υ) ∧ υ⁀δ = α⁀β ⊃ empty(α) ∨ α = υ ∨ ∃γ (α = υ⁀γ))
T10. ∀υ,δ,α,β (unit(υ) ∧ δ⁀υ = α⁀β ⊃ empty(β) ∨ β = υ ∨ ∃γ (β = γ⁀υ))
If there’s an empty string ɛ
, then then second disjunct in the consequent of T9 and T10 is redundant, because ɛ
can be the γ
in the third disjunct.
T11. ∀α (empty(α) | unit(α) | ∃υ,γ (unit(υ) ∧ α = υ⁀γ))
T12. ∀α (empty(α) | unit(α) | ∃υ,γ (unit(υ) ∧ α = γ⁀υ))
Here again, if there’s an empty string ɛ
, then the second disjunct of T11 and T12 is redundant, because ɛ
can be the γ
in the third disjunct.
T13. ∀α,β (α = α⁀β ⊃ empty(β))
T14. ∀α,β (α = β⁀α ⊃ empty(β))