+letin: basta la refine fatta con occurcheck +cut: letin; clearbody ~-1 (cosa sia ~-1 รจ da capirsi) -generalize: a) verificare che tutti i termini selezionati siano convertibili b) spostare i termini selezionati nel contesto corrente/spostare il termine bucato sotto un lambda c) bucare e liftare deve essere fatto contemporaneamente d) poi usare tatticali per fare cut + apply =fail: =id: apply: applyS: intros: elim: cases: rewrite: ??replace: rewrite (?:A=B); [2: apply eq_a_b ] =auto/demodulate/solve_rewrite: change: clear/clearbody: destruct: inversion: lapply: ??compose: whd/simpl/normalize: fold: unfold: assumption: constructor: exists: left: right: reflexivity: symmetry: transitivity: split: decompose: ##### absurd: contradiction: exact: elim_type: fourier: ring: #### applyP: fwd_simpl: