/*  This is a proof plan for theorem:
    nthapp: []==>i:pnat=>j:pnat=>l:int list=>nth(plus(i,j),l)=nth(j,nth(i,l))in int list
    planner = dplan, clam_version(2.7.0), oyster_version(1.20)

    Time taken to find plan: 1530ms
    Environment:
    []
 */

/* This is the pretty-printed form
ind_strat([(i:pnat)-s(v0)]) then 
  ind_strat([(l:int list)-v3::v2])

*/

proof_plan([]==>i:pnat=>j:pnat=>l:int list=>nth(plus(i,j),l)=nth(j,nth(i,l))in int list,nthapp,1530,ind_strat(induction(lemma(pnat_primitive)-[(i:pnat)-s(v0)])then[base_case(sym_eval(normalize_term([reduction([1,1,1],[plus1,equ(pnat,left)]),reduction([2,2,1],[nth1,equ(int list,left)])]))then[elementary(intro(new[j])then[intro(new[l])then[identity,wfftacs],wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,1,1],[plus2,equ(pnat,left)],[]))then[idtac])])then[ind_strat(induction(lemma(list_primitive)-[(l:int list)-v3::v2])then[base_case(sym_eval(normalize_term([reduction([1,1],[nth2,equ(int list,left)]),reduction([2,2,1],[nth2,equ(int list,left)]),reduction([2,1],[nth2,equ(int list,left)])]))then[elementary(intro(new[j])then[identity,wfftacs])]),step_case(ripple(direction_out,wave(direction_out,[1,1],[nth3,equ(int list,left)],[])then[wave(direction_out,[2,2,1],[nth3,equ(int list,left)],[])])then[unblock_then_fertilize(strong,unblock_fertilize_lazy([idtac])then fertilize(strong,v1))])])],dplan).
