# Phil 455: Facts about Strings

Here are some axioms for strings, and theorems derivable from them.

## Axioms

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:

1. If there’s an empty string `ɛ`, then `Φ(ɛ)`.
2. For any unit string `υ`, `Φ(υ)`.
3. Whenever `Φ` holds of a string `η`, it also holds of `η⁀υ` for each unit string `υ`.
4. Whenever `Φ` 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.

## Theorems

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(β))`