fact: Example fact3 := Scolon (Assign 1 (aNum 3)) (Scolon (Assign 2 (aNum 1)) (WhileDo (bGt (aVar 1) (aNum 0)) (Scolon (Assign 0 (aVar 1)) (Scolon (Assign 1 (aPlus (aVar 1) (aNum (-1)))) (Scolon (Assign 3 (aVar 2)) (Scolon (Assign 2 (aNum 0)) (WhileDo (bGt (aVar 0) (aNum 0)) (Scolon (Assign 0 (aPlus (aVar 0) (aNum (-1)))) (Assign 2 (aPlus (aVar 2) (aVar 3))))))))))).
imports: ZArith Zwf Inverse_Image Wellfounded Extraction List Arith Compare_dec Lia