# Re: [isabelle] ML "set simp_trace": Congruence Rule question

Last question (I promise :) ). Any idea why the name is not displayed in the trace?
George

Tobias Nipkow wrote:
It is in HOL.thy: if_weak_cong.

Tobias

George Karabotsos wrote:
Hi Tobias,

thank you for the explanation, but where does it come from? I checked the HOL.thy theory and I did not see any such rule. Does it have a name?

George

Tobias Nipkow wrote:
The premise A = A == ?c is the instantiated premise of the congruence rule

?b == ?c
==> if ?b then ?x else ?y == if ?c then ?x else ?y

This rule is used to limit simplification of if-then-else to the if-part, in this case A=A. Once that has become True, the if-then-else collapses and its then-part can be simplified.

Tobias

George Karabotsos wrote:
Hello,

I am examining the simplifier's trace for the following lemma:

lemma "(if A=A then AV else if AA=BB then BV else CV) = AV"
by simp

There is a part of the trace I do not understand - specifically I am talking about the following part:

[1]Applying congruence rule:
A = A == ?c
==> if A = A then AV else if AA = BB then BV else CV ==
if ?c then AV else if AA = BB then BV else CV

trace_simp_depth_limit exceeded!

Where did the A =A == ?c rule came from?

TIA,
George

This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.