Commit 97f52506 by Raphael Rieu-Helft

### Update sessions and add forgotten function to util

parent 8a6f9e75
This diff is collapsed.
No preview for this file type
 ... @@ -42,6 +42,10 @@ module Valuation ... @@ -42,6 +42,10 @@ module Valuation = 1 + valuation (n * power p (k-1)) p } = 1 + valuation (n * power p (k-1)) p } end end lemma valuation_split: forall n p. 1 <= n -> prime p -> let v = valuation n p in valuation (div n (power p v)) p = 0 (* only altergo proves this? *) let lemma valuation_lower_bound (n p v:int) let lemma valuation_lower_bound (n p v:int) requires { 1 <= n /\ 1 < p /\ 0 <= v } requires { 1 <= n /\ 1 < p /\ 0 <= v } requires { divides (power p v) n } requires { divides (power p v) n } ... @@ -76,10 +80,6 @@ module Valuation ... @@ -76,10 +80,6 @@ module Valuation lemma valuation_zero_prod: forall c1 c2 p. 1 <= c1 -> 1 <= c2 -> prime p -> lemma valuation_zero_prod: forall c1 c2 p. 1 <= c1 -> 1 <= c2 -> prime p -> valuation c1 p = 0 -> valuation c2 p = 0 -> valuation (c1 * c2) p = 0 valuation c1 p = 0 -> valuation c2 p = 0 -> valuation (c1 * c2) p = 0 lemma valuation_split: forall n p. 1 <= n -> prime p -> let v = valuation n p in valuation (div n (power p v)) p = 0 (* only altergo proves this? *) let rec lemma valuation_times_nondiv (n c p:int) let rec lemma valuation_times_nondiv (n c p:int) requires { 1 <= n /\ 1 <= c } requires { 1 <= n /\ 1 <= c } requires { prime p } requires { prime p } ... ...