Module Import Valid := Validator_complete.Make A.Proposition nullable_stable: nullable_stable.Proposition first_stable: first_stable.Proposition start_future: start_future.Proposition terminal_shift: terminal_shift.Proposition end_reduce: end_reduce.Proposition start_goto: start_goto.Proposition non_terminal_goto: non_terminal_goto.Proposition non_terminal_closed: non_terminal_closed.

(* Specifications: *)
Lemma first_correct: forall head sem word t q, word = t::q -> parse_tree head word sem -> TerminalSet.In (projT1 t) (first_symb_set head) with first_correct_list: forall heads sems word t q, word = t::q -> parse_tree_list heads word sems -> TerminalSet.In (projT1 t) (first_word_set heads).