snegAssuming

◼ snegAssuming[assumption, expr] evaluates expr assuming that assumption holds.

◼ The assumption must be given in the form TagSet[_,__]. More then one assumption may be given.

Further examples

Load sneg and declare c to be a fermionic operator

<< sneg`sneg`;
snegfermionoperators[c];
ordering[c] = SEA;

snegfreeindexes[k, σ]
nc[c[CR, k, σ], VACUUM]
snegAssuming[k /: k < 0 = True, %] == 0

nc[c[AN, k1], c[CR, k2]]
snegAssuming[{k1 /: k1 < 0 = True, k2 /: k2 < 0 = True}, 
      Print[%]]

snegAssuming[k /: k < 0 = True, c[CR, k]·VACUUM] == 
      0
snegAssuming[k /: k > 0 = True, c[AN, k]·VACUUM] == 
      0

snegAssuming[k /: k > 0 = True, 
        conj[VACUUM]·c[CR, k]] == 0
snegAssuming[k /: k < 0 = True, 
        conj[VACUUM]·c[AN, k]] == 0

vev[nc[expr, c[AN, k, σ]]]
snegAssuming[k /: k > 0 = True, %] == 0
vev[nc[expr, c[CR, k, σ]]]
snegAssuming[k /: k < 0 = True, %] == 0
vev[nc[c[CR, k, σ], expr]]
snegAssuming[k /: k > 0 = True, %] == 0
vev[nc[c[AN, k, σ], expr]]
snegAssuming[k /: k < 0 = True, %] == 0

snegAssuming[k /: k > 0 = True, zeroonvac[c[AN, k]]] == 
      0
snegAssuming[k /: k < 0 = True, zeroonvac[c[CR, k]]] == 
      0