## Principals
Principals can be simple or compound.
1. Simple principals can be represented as just a name string. This string could represent many things:
1. People, machines, roles and groups (sets of principals)
2. Channels (network IP addresses, I/O ports, wires)
3. Encryption keys
2. Compound principals are made from combining simple principals. There are three operations: as, and, for.
1. **Principals in Roles** → Abadi _as_ Manager
2. **Conjunction** → Abadi _and_ Burrows
3. **Delegation** → Abadi _for_ Burrows
Principals make statements to request access, grant access or to define policy. Channels are the only principals that can make statements directly.
>[!Note]- How do non-channel principals (ex, users) make requests?
>The *speaks for* operator → Channel from terminal *speaks for* user on the terminal. *Speaks for* results in a new statement.
[[Authentication]] helps us answer, “who is making the statement s”?
## Statements
Statements define a language. Requests, policies and all security relevant actions are all statements made in this language.
There are some primitive statements like “read file $F$”. We can create complex statements by combining primitive statements.
Let $s$ and $s^′$ be two statements.
1. $s⊃s^′$ => $s$ implies $s^′$
2. $s∧s^′$ => $s$ and $s^′$
3. $s≡s^′$ is => $s$ equals $s^′$
For principals $A$ and $B$, $A$ => $B$ is a statement that means, $A$ speaks for $B$.
> There are no *not* statements (like negative [[Windows ACLs|ACLs]]), because it causes issues.
### Which statements are valid?
Axioms are statements that are considered true by definition.
1. If s is an instance of a theorem of [[propositional logic]], then “$s$ (notation “$s$ means $s$ is true)
2. Modus Ponens → If “$s$ and “$s ⊃ s^′$ then “$s’$
3. Non-axioms must be provable from axioms or other true statements.
1. “$((A$ says $s$ and $(A$ says $s ⊃ s’))$ ⊃ $A$ says $s’$ )
2. “$s$ then “$A$ says $s$ for every principal $A$
3. $A = B ⊃$ $(A$ says $s ≡ B$ says $s)$
4. “$(A ∣ B)$ says $s ≡ A$ says $B$ says $s$ → $A$ quotes $B$
5. Speaks for relationship
1. “$(A ⟹ B) ≡ (A = A ∧ B)$
2. “$( A ⟹ B) ⊃ ((A$ says $s) ⊃ (B$ says $s))$
3. “$(A = B) ≡ ((A ⟹ B) ∧ (B ⟹ A))$