@@ -145,32 +145,10 @@ pred count-prod i:term , o:nat.
145145count-prod (prod _ _ B) (s N) :- !, pi x\ count-prod (B x) N.
146146count-prod _ z.
147147
148- pred close-prop i:(A -> list prop), o:list prop.
149- close-prop (x\ []) [] :- !.
150- close-prop (x\ [X | Xs x]) [X| Xs'] :- !, close-prop Xs Xs'.
151- close-prop (x\ [X x | Xs x]) [pi x\ X x | Xs'] :- !, close-prop Xs Xs'.
152-
153- pred close-prop-no-prune i:(A -> list prop), o:list prop.
154- close-prop-no-prune (x\ []) [] :- !.
155- close-prop-no-prune (x\ [X x | Xs x]) [pi x\ X x | Xs'] :- !,
156- close-prop-no-prune Xs Xs'.
157-
158- % [close-term-ty (x\ L) Ty R] Ty is the type of x
159- pred close-term-ty i:(term -> list prop), i:term, o:list prop.
160- close-term-ty (x\ []) _ [] :- !.
161- close-term-ty (x\ [X | Xs x]) Ty [X| Xs'] :- !, close-term-ty Xs Ty Xs'.
162- close-term-ty (x\ [X x | Xs x]) Ty [@pi-decl `x` Ty x\ X x | Xs'] :- !,
163- close-term-ty Xs Ty Xs'.
164-
165- pred close-term-no-prune-ty i:(term -> list prop), i:term, o:list prop.
166- close-term-no-prune-ty (x\ []) _ [] :- !.
167- close-term-no-prune-ty (x\ [X x | Xs x]) Ty [@pi-decl `x` Ty x\ X x | Xs'] :- !,
168- close-term-no-prune-ty Xs Ty Xs'.
169-
170- pred close-term-no-prune-fun i:(term -> list term), i:term, o:list term.
171- close-term-no-prune-fun (x\ []) _ [] :- !.
172- close-term-no-prune-fun (x\ [X x | Xs x]) Ty [fun _ Ty X | Xs'] :-
173- close-term-no-prune-fun Xs Ty Xs'.
148+ pred close-prop-no-prune-pi-decl i:(term -> list prop), i:term, o:list prop.
149+ close-prop-no-prune-pi-decl (x\ []) _ [] :- !.
150+ close-prop-no-prune-pi-decl (x\ [X x | Xs x]) Ty [@pi-decl `x` Ty x\ X x | Xs'] :- !,
151+ close-prop-no-prune-pi-decl Xs Ty Xs'.
174152
175153pred free-names i:term, o:list term.
176154free-names T L :-
0 commit comments