fact: Fixpoint pop_exactly (l : list bool) (i : nat) : list (bsm_instr n) := match l with | nil => nil | true :: l => POP x cdiff cdiff :: POP empty (i + 2) (i + 2) :: pop_exactly l (2 + i) | false :: l => POP x (i + 2) cdiff :: POP empty cdiff cdiff :: pop_exactly l (2 + i) end.
imports: List Arith Lia Bool Undecidability.Shared.Libs.DLW(utils list_bool pos vec subcode sss) Undecidability.StackMachines.BSM(tiles_solvable bsm_defs)