|
1
|
- Carsten Schürmann
- Yale University
- September 2002
|
|
2
|
- Is the number of CERT advisories increasing or decreasing?
- Who can vouch for the correctness of the BLUETOOTH protocol?
- Will we ever vote electronically?
- Is the complexity of network protocols increasing or decreasing?
|
|
3
|
- Examples
- Authentication
- Network routing
- E-voting
- Mobile Code
- Requirements
- Flexible design
- Extensibility
- Trust
|
|
4
|
|
|
5
|
|
|
6
|
|
|
7
|
- Safety proof languages
- PCC : 129 rules [Necula, Lee 97]
- FPCC : several 100 rules [Appel,
Felty 01]
- FLINT : ?? rules [Zhao,
et al 02]
- Typed Assembly Language
- Type theory: 31 rules [Morrisett,
Crary … 98]
- Proof Checker: approx 4000 lines
- Blue Tooth Protocol
- Type system: 1000 pages prose
|
|
8
|
- … control the inherent complexity
- design safety architectures
- reason about our designs
- automate reasoning processes involved
- program with our designs
|
|
9
|
- Logical Frameworks encode
- Safety Proof Languages
- Type Systems
- Security Protocols
- Benefit:
- Storing
- Shipping
- Checking
|
|
10
|
- Safety Proof Languages
- Higher-order logic
- Temporal Logic
- Modal Logic
- Linear Logic
- Coq Logic
- Type Systems
|
|
11
|
- Meta logical framework
- Consistency
- Completeness
- Type Safety
- Freeness of attacks
- Benefit:
- Trusting
- Verifying
|
|
12
|
|
|
13
|
- Proof planning
[CS, Autexier]
- Push buttom technology
- Ease of use
- Failure interpretation
- Benefit:
- Level of abstraction
- Interactive design cycle
- Quick response
|
|
14
|
|
|
15
|
- Delphin [CS,
Yu, Poswolsky]
- Compilers
[CS, Xi]
- Client-server Architecture
- Theorem Provers for Proof Carrying Authentication
- Benefit:
- Direct manipulation of derivations
- Automatic code generation
|
|
16
|
|
|
17
|
- Proof Planning
- in
- Twelf
- Used at Yale, CMU, Princeton, Stanford, Harvard (?)…
|
|
18
|
|
|
19
|
|
|
20
|
- Intuitionistic logic:
- Sequent calculus:
[Gentzen 35]
- Judgment:
- Rules:
|
|
21
|
- Logical framework LF [Honsell, Harper, Plotkin 93]
- Simply typed λ-calculus
- Dependent types
- Paradigm
- Judgments as types (assumptions as contexts)
- Derivations as objects
|
|
22
|
- Inference rules as constants
|
|
23
|
- Reasoning about the real world
- is as good as the encoding is
|
|
24
|
- Focuses on common concepts
- Hypotheses
- State
- Enriches logical framework
- Substitution (beta reduction)
- Update (resource oriented logics)
|
|
25
|
- Emphasis 1: Representation
- Extend frameworks conservatively
- Terms are not dead, they live!
- Example: Twelf
- Emphasis 2: Reasoning
- Examples: Coq, Isabelle, Lego
|
|
26
|
- Elegance
- Higher-order representation techniques
- Dependent types
- Benefit for this work:
- Variables and substitutions come for free!
|
|
27
|
|
|
28
|
- Theorem [Admissibility]:
[Gentzen 35]
- If and then
|
|
29
|
- First-order logic
- Induction principles for arbitrary higher-order encodings [CS 00,01]
|
|
30
|
|
|
31
|
- What we have:
- Logical Framework LF
- Proofs by induction
- How can we find proofs
- automatically and quickly?
|
|
32
|
|
|
33
|
- Splitting (Case analysis)
- Recursion (Induction hypothesis)
- Filling
- Constructing safety proofs
- Resolution based techniques
|
|
34
|
- With naïve Prototype implementation:
|
|
35
|
- Reason 1: Search spaces enormous
- Reason 2: Side effect of failure
|
|
36
|
- Reason 1: Search spaces enormous
- Tabled proof search [Pientka
‘02]
- Outsourcing
[Vampire?]
- Reason 2: Side effect of failure
- Pruning through proof plans
- Decidable criterion
|
|
37
|
|
|
38
|
- First order logic
[CS, Autexier 02]
- Propositions approximate type families
- Natural deduction
- Decidable (because of M2L)
|
|
39
|
- Exploit information contained in types indices.
- Example:
- “We have an object of type family conc containing information on A”
- “We have another object of type family conc containing information on B
once we know …”
|
|
40
|
- There is no proof of
- But
- Splitting on (D, E)
- Proof plans exist for each case.
- Let’s try to prove.
|
|
41
|
- Abstraction is defined as follows
|
|
42
|
- If without case rules
- And
- Then .
- Proof: by induction on .
- Benefit: Read it backwards!
|
|
43
|
- Proof planning calculus Pw
- Recognizes unpromising states
- Provides proof search guidance
- Gives a logical explanation to proof plans
- Failure criterion
- Inspects a proof state
- Recognizes unpromising ones quickly
- Decidable
|
|
44
|
- Importance
- Push button technology
- Network/authentication/e-voting protocols
- Proof planning system Pw
- Works for encodings in LF
- TI-abstraction [Giungilia,
Walsh 91]
- Implementation is underway
|
|
45
|
- design safety architectures
- reason about our designs
- automate reasoning processes involved
- program with our designs
- We are on the way!
|
|
46
|
- Alternative proof techniques
- Logical relations [CS, Sarnat]
- Coinduction
[CS, Momigliano]
- Application domain
- Network protocols
- E-Voting
- Infinite structures
- Choice sequences vs. Co-induction
- Adequate representation of infinite traces
|
|
47
|
- For more information about
- Twelf and Delphin
- check
|
|
48
|
|