Your objection would be valid if we had a formalized concept of “counterfactual if” distinct from “logical if”, but we don’t. When looking at the behavior of deterministic programs, I have no idea how to make counterfactual statements that aren’t logical statements.
When a program takes explicit input, you can look at what the program does if you pass this or that input, even if some inputs will in fact never be passed.
Your objection would be valid if we had a formalized concept of “counterfactual if” distinct from “logical if”, but we don’t. When looking at the behavior of deterministic programs, I have no idea how to make counterfactual statements that aren’t logical statements.
When a program takes explicit input, you can look at what the program does if you pass this or that input, even if some inputs will in fact never be passed.