Zulip Chat Archive
Stream: Is there code for X?
Topic: Using result of if condition inside itself
shortc1rcuit (Jul 03 2024 at 21:46):
I'm trying to generate a function of the type Fin (k + 1) ↦ Fin (k + 1)
using a function of the type Fin k ↦ Fin k
(which is called b
). It should be of the form n ↦ if n = 0 then 0 else b (n - 1) + 1
. However n - 1
needs to be cast from Fin (k + 1)
to Fin k
. This needs a proof that n - 1 < k
, which needs a proof that 1 ≤ n
which can be derived from the fact that as we are in the else branch, n ≠ 0
. How do I get this fact?
Ruben Van de Velde (Jul 03 2024 at 21:56):
Are you looking for if h : n = 0...
?
shortc1rcuit (Jul 03 2024 at 21:59):
In hindsight I probably should have tried that. Thanks for the help!
Yury G. Kudryashov (Jul 04 2024 at 21:50):
See docs#ite and docs#dite for the functions behind these notations.
Last updated: May 02 2025 at 03:31 UTC