Subject: Ssreflect Users Discussion List
List archive
- From: (Emilio Jesús Gallego Arias)
- To: Arthur Azevedo de Amorim <>
- Cc: "ssreflect\@msr-inria.inria.fr" <>
- Subject: Re: [ssreflect] forall over fintype
- Date: Mon, 01 Dec 2014 01:10:20 +0100
- Organization: CRI ParisTech
Hi Arthur,
(Emilio Jesús Gallego Arias) writes:
> [I tried to do the same you are trying to do some time back, but for now
> I've settled in using all, allP, elim: (enum P) and friends....]
This is an example of the tricks I use, the previous approach is
super-slow due to having to insubT:
Lemma all_i100_in_200 : [forall i : 'I_100, i < 200].
Proof.
have: all [pred i | i < 200] (map val (@enum 'I_100)).
by rewrite val_enum_ord.
rewrite all_map=> /allP Hall.
by apply/forallP=> i; apply: Hall; rewrite mem_enum.
Qed.
So indeed you need something like iota for your finite types.
(Larger examples will become slow due to the peano encoding, but this is
a different issue)
Best,
Emilio
- Re: [ssreflect] forall over fintype, Emilio Jesús Gallego Arias, 12/01/2014
- Re: [ssreflect] forall over fintype, Emilio Jesús Gallego Arias, 12/01/2014
- <Possible follow-up(s)>
- Re: [ssreflect] forall over fintype, Cyril Cohen, 12/01/2014
- Re: [ssreflect] forall over fintype, Cyril Cohen, 12/01/2014
- Re: [ssreflect] forall over fintype, Arthur Azevedo de Amorim, 12/01/2014
- Re: [ssreflect] forall over fintype, Cyril Cohen, 12/01/2014
Archive powered by MHonArc 2.6.18.