Skip to content

Commit

Permalink
ref for proof instantiation
Browse files Browse the repository at this point in the history
  • Loading branch information
jsiek committed Oct 16, 2024
1 parent c560291 commit ab21581
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions doc/Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -920,6 +920,33 @@ proof ::= "injective" term proof
UNDER CONSTRUCTION


## Instantiation (Proof)

```
proof ::= proof '<' type_list '>'
proof ::= proof '[' term_list ']'
```

Use square brackets `[` and `]` to instantiate an `all` formula with
terms and use angle brackets `<` and `>` to instantiate an `all`
formula with types.

Example:

<!-- {.deduce #instantiate_proof_example} -->
```
theorem instantiate_proof_example: length(node(42, empty)) = 1
proof
have X: all T:type. all x:T. length(node(x, empty)) = 1 by {
arbitrary T:type arbitrary x:T
definition {length, length, operator+, operator+}
}
conclude length(node(42, empty)) = 1
by X<Nat>[42]
end
```


## Instantiation (Term)

```
Expand Down

0 comments on commit ab21581

Please sign in to comment.