1. 05 Dec, 2016 7 commits
• Mutual Banach's fixpoint. · 91452d8a
Robbert Krebbers authored
• Merge branch 'contractive' into 'master' · 5dab83f7
Robbert Krebbers authored
```New definition of contractive.

The current notion of `Contractive` does not allow one to deal with functions with multiple arguments, for example, binary functions that are contractive in both arguments (like `lft_vs` in lambdarust), or binary functions that are contractive in one of their arguments.

To that end, I propose I reformulate the notion of `Contractive` so that we can express being contractive using a `Proper`. The new definition is:

Definition dist_later {A : ofeT} (n : nat) (x y : A) : Prop :=
match n with 0 => True | S n => x ≡{n}≡ y end.
Notation Contractive f := (∀ n, Proper (dist_later n ==> dist n) f).

Also, it turns out that using this definition we can implement a `solve_contractive` tactic in the same way as the `solve_proper` tactic.

Unfortunately, the new tactic does not quite work for the weakest precondition connective in Iris because the proof involves induction, and the induction hypothesis does not quite fit into the new `solve_contractive` tactic.

See merge request !32```
• New definition of contractive. · 176a588c
Robbert Krebbers authored
```Using this new definition we can express being contractive using a
Proper. This has the following advantages:

- It makes it easier to state that a function with multiple arguments
is contractive (in all or some arguments).
- A solve_contractive tactic can be implemented by extending the
solve_proper tactic.```
• Internal definition of contractive and use it to prove internal_eq_rewrite. · ecd304f2
Robbert Krebbers authored
```This removes Ralf's hack of using later_car, which is not function in the logic.

Thanks to Aleš for suggesting this.```
• docs: update agreement construction · ab25b956
Ralf Jung authored
• update documentation for the new OFE story · 0dd40006
Ralf Jung authored
2. 02 Dec, 2016 4 commits
3. 01 Dec, 2016 1 commit
4. 30 Nov, 2016 6 commits
5. 29 Nov, 2016 7 commits
6. 28 Nov, 2016 4 commits
7. 27 Nov, 2016 8 commits
8. 26 Nov, 2016 2 commits
9. 25 Nov, 2016 1 commit