Skip to content
Snippets Groups Projects
  1. Dec 05, 2016
    • 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. Dec 02, 2016
  3. Dec 01, 2016
  4. Nov 30, 2016
  5. Nov 29, 2016
  6. Nov 28, 2016
  7. Nov 27, 2016
  8. Nov 26, 2016
  9. Nov 25, 2016
Loading