liveBook · Manning

Satisfiability modulo theories

As explained in Authorization in Action

An SMT solver determines whether logical formulas are satisfiable under combinations of mathematical theories such as equality, sets, strings, and numbers.

An SMT solver checks whether a logical formula can be satisfied while respecting theories such as equality, sets, strings, numbers, and other structured domains. In authorization, symbolic policy analysis turns the full space of principals, actions, resources, contexts, and relationships into formulas that the solver can examine. section 7.4.6

Finding an authorization counterexample

Instead of testing only whether Alice can approve invoice 123, symbolic analysis can ask whether any principal outside Finance can approve any invoice. The solver may return a concrete counterexample, such as an unmanaged device reaching a deployment action, or show that a policy refactoring changed permissions. section 7.4.6

Authorization analysis uses SMT solving to:

  • Compare policy sets and identify inconsistencies, redundancies, or logical errors. section 7.4.6
  • Check whether policy properties hold across all schema-defined requests rather than selected test cases. section 7.4.6

How Authorization in Action covers it

How deep it goes
Explains satisfiability, supported theories, formula compilation, counterexamples, and policy-equivalence checks without developing solver internals.
Examples
Uses invoice approval, unmanaged-device deployment access, policy comparison, and counterexamples to illustrate analysis.
What you can do after
Diagnose/debug with it by finding authorization violations, inconsistencies, redundancies, and permission changes before deployment.
How it connects
Connects symbolic reasoning with Cedar, policy analysis, formal verification, schemas, counterexamples, and authorization.

This explainer was generated by Manning's knowledge graph from the text of Authorization in Action. The section links point to the parts of the book it draws on.