1. 05 Dec, 2016 7 commits
    • Robbert Krebbers's avatar
      Mutual Banach's fixpoint. · 91452d8a
      Robbert Krebbers authored
      91452d8a
    • Robbert Krebbers's avatar
      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
      5dab83f7
    • Robbert Krebbers's avatar
      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.
      176a588c
    • Robbert Krebbers's avatar
      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.
      ecd304f2
    • Ralf Jung's avatar
      docs: update agreement construction · ab25b956
      Ralf Jung authored
      ab25b956
    • Ralf Jung's avatar
      update documentation for the new OFE story · 0dd40006
      Ralf Jung authored
      0dd40006
    • Ralf Jung's avatar
      965852ff
  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