PADEC - Coq Library
Library Padec.Tools.ComputeMax
Compute a maximum value
- there exists k_up, not P(k_up)
- there exists k_witness < k_up, P(k_witness)
Section ComputeMax.
Variable (P: nat -> Prop) (P_class: forall i, P i \/ ~P i) .
Variable (k_up: nat) (Hk_up: ~P k_up).
Variable (k_witness: nat)
(Hk_witness_bound: k_witness < k_up)
(Hk_witness_P: P k_witness).
Lemma ComputeMax:
exists k_star, k_star < k_up /\ P k_star /\
forall k, k_star < k -> k <= k_up -> ~P k.
End ComputeMax.
Unset Implicit Arguments.